部门管理
首先我们需要在models里定义Dept类
# 创建部门表
class Dept(models.Model):name = models.CharField(max_length=100)head = models.CharField(max_length=100)phone = models.CharField(max_length=15)email = models.EmailField()address = models.CharField(max_length=255)def __str__(self):return self.name
然后执行下面两句,创建数据表
manage.py@MS > makemigrations
manage.py@MS > migrate
部门列表展示
首先创建视图
from django.shortcuts import render"""部门列表"""
def dept_list(request):return render(request, 'dept_list.html')
然后配置URL路由
urlpatterns = [# 部门管理path("dept/list/", dept.dept_list),
]
接着创建部门列表页面dept_list.html,继承base.html
{% extends 'base.html' %}{% block content %}{% endblock %}
看一下效果,是可以访问的。
去bootstrap找个带表格的面板,加进去
{% extends 'base.html' %}{% block content %}<div class="panel panel-default"><!-- Default panel contents --><div class="panel-heading">新建部门</div><div class="panel-body"><p>部门列表</p></div><!-- Table --><table class="table"><thead><tr><th>#</th><th>First Name</th><th>Last Name</th><th>Username</th></tr></thead><tbody><tr><th scope="row">1</th><td>Mark</td><td>Otto</td><td>@mdo</td></tr><tr><th scope="row">2</th><td>Jacob</td><td>Thornton</td><td>@fat</td></tr><tr><th scope="row">3</th><td>Larry</td><td>the Bird</td><td>@twitter</td></tr></tbody></table></div>{% endblock %}
效果如下:
ok,接下来可以编写dept_list()函数
"""
部门列表
department_id:部门ID(主键,自动增长)
name:部门名称
head:部门负责人
phone:联系电话
email:电子邮件
address:地址
"""def dept_list(request):# 查询部门列表数据queryset = models.Dept.objects.using('default').all()# 把查询到的数据传递到前端context = {'queryset': queryset}return render(request, 'dept_list.html', context)
然后在dept_list.html上接收数据
{% extends 'base.html' %}{% block content %}<div class="panel panel-default"><!-- Default panel contents --><div class="panel-heading">新建部门</div><div class="panel-body"><p>部门列表</p></div><!-- Table --><table class="table"><thead><tr><th>ID</th><th>name</th><th>head</th><th>phone</th><th>email</th><th>address</th></tr></thead><tbody>{% for obj in queryset %}<tr><td>{{ obj.id }}</td><td>{{ obj.name }}</td><td>{{ obj.head }}</td><td>{{ obj.phone }}</td><td>{{ obj.email }}</td><td>{{ obj.address }}</td></tr>{% endfor %}</tbody></table></div>{% endblock %}
效果如下: