03 django管理系统 - 部门管理 - 部门列表

部门管理

首先我们需要在models里定义Dept类

python 复制代码
# 创建部门表
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

部门列表展示

首先创建视图

python 复制代码
from django.shortcuts import render

"""部门列表"""
def dept_list(request):
    return render(request, 'dept_list.html')

然后配置URL路由

python 复制代码
urlpatterns = [
    # 部门管理
    path("dept/list/", dept.dept_list),
]

接着创建部门列表页面dept_list.html,继承base.html

python 复制代码
{% extends 'base.html' %}

{% block content %}
    
{% endblock %}

看一下效果,是可以访问的。

去bootstrap找个带表格的面板,加进去

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>#</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()函数

python 复制代码
"""
部门列表
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上接收数据

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 %}

效果如下:

相关推荐
weixin_307779131 小时前
Azure上基于OpenAI GPT-4模型验证行政区域数据的设计方案
数据仓库·python·云计算·aws
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
m0_748256144 小时前
SpringBoot
java·spring boot·后端
多想和从前一样4 小时前
Django 创建表时 “__str__ ”方法的使用
后端·python·django
涛粒子6 小时前
Spring Bean 生命周期的执行流程
java·后端·spring
小喵要摸鱼6 小时前
【Pytorch 库】自定义数据集相关的类
pytorch·python
bdawn6 小时前
深度集成DeepSeek大模型:WebSocket流式聊天实现
python·websocket·openai·api·实时聊天·deepseek大模型·流式输出
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
mosquito_lover16 小时前
怎么把pyqt界面做的像web一样漂亮
前端·python·pyqt
赵琳琅6 小时前
Java语言的云计算
开发语言·后端·golang