1.部门列表创建
第一步添加库表内容

第二步把表里对象传参

第三步在html里新建表格

这样就能看见创建好的页面了

如果想要部门列表排序,可以在最后加一个orderby()函数,里面是要排序所按照的字段,比如”id”,但是一般是从小到大,假如要写从大到小就写”-id”,这样的好处是假如要在开头展示新增数据就可以直接展示


编辑,删除,添加html样式实现,功能随后再说



2.模板继承
由于html有的时候会有很多地方重复,衍生出一个模板继承的概念,所以我们可以创建一个模板文件叫做layout.html作为管理的模板页面
创建模板layout.html
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="{% static 'plugins/bootstrap/css/bootstrap.css' %}">
</head>
<body>
<!-- Navbar -->
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="border-radius: 0;">
<div class="container">
<!-- Brand -->
<a class="navbar-brand" href="#">联通资产管理平台</a>
<!-- Toggler/collapsibe Button -->
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<!-- Navbar links -->
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 2</a>
</li>
<!-- Dropdown -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
Dropdown
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
<!-- Right-aligned links -->
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown2" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
{{ request.unicom_username }}
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown2">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/logout/">注销</a>
</div>
</li>
</ul>
</div>
</div>
{% block content %}{% endblock %}
</nav>
<!-- Scripts -->
<script src="{% static 'js/jquery-3.7.1.min.js' %}"></script>
<script src="{% static 'plugins/bootstrap/js/bootstrap.js' %}"></script>
</body>
</html>
让部门列表主页面继承自layout.html,depart_lists.html内容如下:
{% extends "layout.html" %}
{% block content %}
<table class="table table-bordered">
<div>
<a class="btn btn-success">添加</a>
</div>
<thead>
<tr>
<th>ID</th>
<th>标题</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{% for foo in queryset %}
<tr>
<td>{{ foo.id }}</td>
<td>{{ foo.title }}</td>
<td>
<a class="btn btn-primary btn-xs">编辑</a>
<a class="btn btn-danger btn-xs">删除</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</nav>
{% endblock %}
js和css同理也会继承,而且假如我们从depart_lists.html渲染到layout.html模板文件的时候,js和css我们会希望用我们depart_lists.html的js和css,那么就可以在对应位置用{% block css %} {% block js %}
3.增加删除编辑功能实现
首先实现添加功能
在depart_lists.html中,在a标签里加url和请求方法

在urls.py中也加入

在views.py中加入

在depart_add.html中写
{% extends "layout.html" %}
{% block content %}
<div class="panel panel-default">
<div class="panel-heading">新建部门</div>
<div class="panel-body">
<form class="form-inline" method="post" action="/depart/add/">
{% csrf_token %}
<div class="form-group">
<label class="sr-only" for="title">标题</label>
<input type="text" class="form-control" id="title" placeholder="请输入标题" name="title">
</div>
<button type="submit" class="btn btn-default">保 存</button>
</form>
</div>
</div>
{% endblock %}
这样就成功实现了添加功能
编辑功能和删除功能的实现:


depart_edit.html
{% extends "layout.html" %}
{% block content %}
<div class="panel panel-default">
<div class="panel-heading">编辑部门</div>
<div class="panel-body">
<form class="form-inline" method="post" action="/depart/edit/?id={{ id }}">
{% csrf_token %}
<div class="form-group">
<label class="sr-only" for="title">标题</label>
<input type="text" value="{{ title }}" class="form-control" id="title" placeholder="请输入标题" name="title">
</div>
<button type="submit" class="btn btn-default">保 存</button>
</form>
</div>
</div>
{% endblock %}
depart_lists.html修改如下:
