09 django管理系统 - 管理员管理 - 管理员列表

通过部门管理的增删改查,大概了解了django的过程,下面通过管理员模块来复习一遍。

前期准备

1 创建管理员的Model类

python 复制代码
# 创建管理员表
class Admin(models.Model):
    name = models.CharField(max_length=100)
    password = models.CharField(max_length=100)
    sex_choice = (
        ('1', '男'),
        ('2', '女')
    )
    sex = models.CharField(max_length=2, choices=sex_choice)

2 执行以下语句,把表映射到数据库中

manage.py@MS > makemigrations

manage.py@MS > migrate

效果如下:

下面开始进行管理员列表模块的实现

首先是在模板文件里,新增管理员模块入口

html 复制代码
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li class="active"><a href="/dept/list/">部门管理</a></li>
            </ul>

            <ul class="nav navbar-nav">
                <li class="active"><a href="/admin/list/">管理员</a></li>
            </ul>

效果如下:

添加URL路径

python 复制代码
urlpatterns = [
    # 部门管理
    path("dept/list/", dept.dept_list),
    path("dept/add/", dept.dept_add),
    path("dept/<int:nid>/edit_detail/", dept.dept_editdetail),
    path("dept/<int:nid>/delete/", dept.dept_delete),
    path("dept/search/", dept.dept_search),
    
    # 管理员管理
    path("admin/list/", admin.admin_list),

]

去my_views目录下创建admin.py,并新建admin_list()方法

python 复制代码
from django.http import HttpResponse


def admin_list(request):
    return HttpResponse("admin_list is ok")

测试成功,效果如下:

我们让他返回一个html页面

html 复制代码
from django.http import HttpResponse
from django.shortcuts import render


def admin_list(request):
    # return HttpResponse("admin_list is ok")
    return render(request, 'admin_list.html')

新建admin_list.html页面,继承base.html

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

{% block content %}
    
{% endblock %}

接着去函数里去遍历admin_list里的数据,我先用navicat随便创建2条数据

接着我们去修改admin_list()的业务逻辑

python 复制代码
from django.shortcuts import render

from app01 import models


def admin_list(request):
    # return HttpResponse("admin_list is ok")
    # 查询所有的数据
    queryset = models.Admin.objects.using("default").all()
    context = {
        "queryset": queryset
    }
    return render(request, 'admin_list.html', context)

接着我们去admin_list.html里去实现数据展示,通过表单获取数据,然后进行遍历

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

{% block content %}
    <div class="container-fluid">
        <div style="margin-bottom: 10px" class="clearfix">
            <div class="panel panel-default">

                <div class="panel-body">
                    <div style="float: left">
                        <p>管理员列表</p>
                    </div>
                    <!-- Table -->
                    <table class="table">
                        <thead>
                        <tr>
                            <th>ID</th>
                            <th>name</th>
                            <th>password</th>
                            <th>sex</th>
                            <th>操作</th>
                        </tr>
                        </thead>
                        <tbody>
                        {% for obj in queryset %}
                            <tr>
                                <td>{{ obj.id }}</td>
                                <td>{{ obj.name }}</td>
                                <td>{{ obj.password }}</td>
                                <td>{{ obj.get_sex_display }}</td>

                                <td>
                                    <a class="btn btn-success" href="#" role="button">编辑管理员</a>
                                    <a class="btn btn-danger" href="#" role="button">删除管理员</a>
                                </td>
                            </tr>

                        {% endfor %}
                        </tbody>
                    </table>
                    {% if error %}
                        <div style="color: red;">
                            {{ error }}
                        </div>
                    {% endif %}
                </div>
            </div>
        </div>

    </div>
{% endblock %}

效果如下:

相关推荐
财经资讯数据_灵砚智能13 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月6日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
Land032924 分钟前
Python + RPA 双引擎实战:从手写脚本到可交付自动化应用的完整链路
python·自动化·rpa
好家伙VCC42 分钟前
区块链双向支付通道实战:从签名到结算
java·后端·区块链·asp.net
菜到离谱但坚持44 分钟前
【小白零基础】RAG+LangChain 搭建私有知识库问答系统(完整可运行代码+超详细教程+避坑指南)
python·langchain·rag
ss2731 小时前
【入门OJ题解】分苹果问题(Python/Java/C 实现)
java·c语言·python
IsJunJianXin1 小时前
谷歌搜索cookie NID逆向生成
开发语言·python·google搜索·sgss·nid-cookie·算法生成nid·google-cookie
暗夜猎手-大魔王1 小时前
转载--Hermes Agent 11 | 智能审批与平台化安全:当 AI 来守护 AI
人工智能·python·安全
AIFQuant1 小时前
量化私募回测系统:高质量股票/外汇历史数据 API 选型与接入
python·websocket·金融·ai量化
Mr.Daozhi1 小时前
Playwright实战:抓取Meta Ad Library动态页面的三级降级策略
爬虫·python·自动化·playwright·meta广告
财经资讯数据_灵砚智能1 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年6月5日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能