django model
文章目录
1.定义数据表
(1)创建model
from django.db import models
class Person(models.Model):
id=models.IntegerField(primary_key=True,auto_created=True)
first_name=models.CharField(max_length=30)
last_name=models.CharField(max_length=30)
gender=models.CharField(max_length=5)
birthday=models.DateField()
(2)注册model
修改admin.py,这个文件是创建了app之后才会有的
from django.contrib import admin
# Register your models here.
# 将需要关联数据库的表在这里注册
from .mymodels.Person import Person
admin.site.register(Person)
(3)migrate
python manage.py makemigrations
python manage.py migrate
等同于在数据库中执行了
CREATE TABLE myforms_person (
id INTERGER NOT NULL
PRIMARY KEY,
first_name VARCHAR (30) NOT NULL,
last_name VARCHAR (30) NOT NULL,
birthday DATE NOT NULL,
gender VARCHAR (5) NOT NULL
);
(4)使用django自带后台管理
创建管理员账户
python manage.py createsuperuser
登录http://localhost:8000/admin,效果如下:
2.使用HTML原生table展示数据
(1)模板
user_info.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1 id="h1">用户信息</h1>
<table border="1px">
<tr>
<td>id</td>
<td>first_name</td>
<td>last_name</td>
<td>gender</td>
<td>birthday</td>
</tr>
{% for i in user_list %}
<tr>
<td>{{ i.id }}</td>
<td>{{ i.first_name }}</td>
<td>{{ i.last_name }}</td>
<td>{{ i.gender }}</td>
<td>{{ i.birthday }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
(2)视图
修改views.py
from django.shortcuts import render
from .mymodels.Person import Person # 引入创建的模型
def add_user(request):
user_list = Person.objects.all() #将数据全部展示至html中。
return render(request,"user_infos.html",{"user_list":user_list})
(3)路由
修改urls.py
path('add_user', add_user, name="add_user"),
(4)效果
3.使用bootstrap模板展示数据
(1)模板
boots_table.html
{% load bootstrap3 %}
{% bootstrap_css %}
{% bootstrap_javascript %}
<head>
<style>
.col-center-block {
float: none;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<div class="col-xs-6 col-md-4 col-center-block">
<table class="table table-striped">
<caption>用户信息</caption>
<thead>
<tr>
<td>id</td>
<td>first_name</td>
<td>last_name</td>
<td>gender</td>
<td>birthday</td>
</tr>
</thead>
<tbody>
{% for i in user_list %}
<tr>
<td>{{ i.id }}</td>
<td>{{ i.first_name }}</td>
<td>{{ i.last_name }}</td>
<td>{{ i.gender }}</td>
<td>{{ i.birthday }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
(2)视图
修改views.py
def show_user(request):
user_list = Person.objects.all() #将数据全部展示至html中。
return render(request,"boots_table.html",{"user_list":user_list})
(3)路由
修改urls.py
path('showUser', show_user),