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

效果如下:

相关推荐
苍何4 小时前
开源微信流 Windows,微信聊天记录,可以直接给 Codex 和 Obsidan 了
后端
代码什么用6 小时前
Spring基础使用
java·后端·spring
明月_清风6 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
蜗牛互联网6 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
全栈练习生7 小时前
AI Agent 沙箱
python·ai
SEO_juper8 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
用户69371750013849 小时前
2026,程序员的时代拐点到了
android·前端·后端
惜鸟9 小时前
从源码看 pi 的上下文管理:原始数据永久保留,模型视角按需裁剪
后端
量化分析码农9 小时前
【Python量化策略评估体系 #05】极端行情扛得住吗?2008/2015/2020 三场景压力测试
后端
十年Java程序媛9 小时前
Java 接口和抽象类对比|Java8 新特性,抛弃老旧八股,正确选型
java·spring boot·后端