Django4全栈进阶之路16 项目实战(用户管理):user_list.html用户列表画面设计
首先在template模板文件夹中新建account子文件夹,用于存放用户管理相关模块页面。

下面开始正式的设计:
1、模块代码设计
{% extends 'base.html' %}
{% block content %}
<div style="margin-top: 16px;">
<a href="{% url 'user_add' %}" class="btn btn-primary btn-sm">新增用户</a>
</div>
<div class="card mt-3">
<div class="card-header">用户列表</div>
<div class="card-body">
<table class="table table-bordered">
<thead>
<tr>
<th>序号</th>
<th>用户名</th>
<th>邮箱</th>
<th>第一次登录时间</th>
<th>最后的登录时间</th>
<th>操作</th>
</tr>
</thead>
{% if error_msg %}
<p class="error">{{ error_msg }}</p>
{% else %}
<tbody>
{% for user in user_list %}
<tr>
<td>{{ user.id }}</td>
<td>{{ user.username }}</td>
<td>{{ user.email }}</td>
<td>{{ user.first_name }}</td>
<td>{{ user.last_name }}</td>
<td>
{# <div class="btn-group btn-group-sm">#}
{# <a class="btn btn-primary " href="{% url 'user_edit' user.id %}">编辑</a>#}
{# <a class="btn btn-danger " href="{% url 'user_delete' user.id %}"#}
{# onclick="return confirm('确定要删除吗?')">删除</a>#}
{# </div>#}
{# <a class="btn btn-primary btn-xs" href="{% url 'user_edit' user.id %}">编辑</a>#}
{# <a class="btn btn-danger btn-xs" href="{% url 'user_delete' user.id %}"#}
{# onclick="return confirm('确定要删除吗?')">删除</a>#}
<a class="btn btn-primary btn-sm" href="{% url 'user_edit' user.id %}">编辑</a>
<a class="btn btn-danger btn-sm" href="{% url 'user_delete' user.id %}"
onclick="return confirm('确定要删除吗?')">删除</a>
</td>
</tr>
{% endfor %}
</tbody>
{% endif %}
</table>
</div>
</div>
{% endblock %}
2、路由设计:
主路由:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static urlpatterns = [
# ... 其他 URL 模式 ...
path('myapp/', include('MyApp.urls')),
]
子路由:
from django.urls import path from . import views urlpatterns = [
# ... 其他 URL 模式 ...
path('user/list/', views.user_list_view, name='user_list'),
]
3、视图设计:
@login_required
def user_list_view(request):
users = User.objects.all
if users:
return render(request, 'account/user_list.html', {'user_list': users})
else:
error_msg = "No data was found"
return render(request, 'account/user_list.html', {'error_msg': error_msg})
4、base.html菜单链接设置:
<li class="nav-item active">
<a class="nav-link" href="{% url 'user_list' %}">用户管理 <span class="sr-only">(current)</span></a>
</li>
5、效果展示:

Django4全栈进阶之路16 项目实战(用户管理):user_list.html用户列表画面设计的更多相关文章
- web前端全栈学习之路
web前端全栈学习之路 --- 陆续更新中 一.HTML相关 1.HTML常用标签:http://www.cnblogs.com/wyb666/p/8733699.html 2.HTML5基础: 3. ...
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
- 你的Node应用,对接分布式链路跟踪系统了吗?(一) 原创: 金炳 Node全栈进阶 4天前 戳蓝字「Node全栈进阶」关注我们哦
你的Node应用,对接分布式链路跟踪系统了吗?(一) 原创: 金炳 Node全栈进阶 4天前 戳蓝字「Node全栈进阶」关注我们哦
- C#.Net全栈工程师之路-学习路径
C#.Net全栈工程师之路-学习路径 按架构分: C/S架构: B/S架构: Mobile移动开发: 按技术点分: C#编程基础以及OOP面向对象编程: 数据库基础以及高级应用(MYSQL+MSSQL ...
- 战争热诚的python全栈开发之路
从学习python开始,一直是自己摸索,但是时间不等人啊,所以自己为了节省时间,决定报个班系统学习,下面整理的文章都是自己学习后,认为重要的需要弄懂的知识点,做出链接,一方面是为了自己找的话方便,一方 ...
- Python全栈开发之路 【第四篇】:Python基础之函数
本节内容 函数def: 1.位置参数,默认参数 2.位置参数,关键参数 3.如果参数中出现 *users,传递的参数就可以不再是固定的个数, 传过来的所有元素进行打包成元组 *args,**kwarg ...
- Python全栈开发之路 【第一篇】:Python 介绍
本节内容 一.Python介绍 python的创始人为荷兰人——吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...
- Python全栈开发之路 【第六篇】:Python基础之常用模块
本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...
- Python全栈开发之路 【第七篇】:面向对象编程设计与开发(1)
本节内容 一.编程范式 编程指的是写程序.敲代码,就是指程序员用特定的语法.数据结构和算法编写的代码,目的是来告诉计算机如何执行任务的. 在编程的世界里最常见的两大流派是:面向过程与面向对象.“功夫的 ...
- 全栈开发系列学习2——django项目搭建
项目代码:http://yunpan.cn/cHajgT4HvgHqx (提取码:8350) 配置项目: 1. 首先确保你的机器安装了python和pip,这两种安装比较简单,这里就不说了. 2. 在 ...
随机推荐
- 密码破解-hashcat的简单使用
在我们抓取到系统的hash值之后,需要通过一些工具来破解密码 hashcat是一款可以基于显卡暴力破解密码的工具,几乎支持了所有常见的加密,并且支持各种姿势的密码搭配 在kali Linux中自带的有 ...
- (1)入门MasaFramework教程
(1)入门MasaFramework教程 首先了解一下MasaFramework是什么 MasaFramework是一个基于.Net6.0的后端框架, 可以被用于开发Web应用程序.WPF项目.控制台 ...
- Available parameters are [arg0, collection, list]错误的解决
关于这个错误 每次只要是俩list集合一嵌套起来,就会报出这个错误,检查过,并不是关键字的误用: 这个才是根本原因: 当mybatis传入参数为list集合的时候:mybatis会自动把其封装为一个m ...
- 自己动手从零写桌面操作系统GrapeOS系列教程——14.屏幕显示原理与文本模式
学习操作系统原理最好的方法是自己写一个简单的操作系统. 一.屏幕显示原理 电脑显示器屏幕是由很多很小的像素组成的.每个像素就像是一个小灯泡,在屏幕上一排一排的整齐排列着.只要能控制每个像素的颜色就能显 ...
- RunnerGo相较于Jmeter优劣势分析
RunnerGo是一款基于go语言研发的开源测试平台.在这里我想从性能测试方面.结构方面以及功能方面对比两款产品. 性能方面: Runner基于go语言研发,相对于jmeter来说更轻量级.所以性能测 ...
- Go语言:利用 TDD 驱动开发测试 学习结构体、方法和接口
环境安装: (新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4 上一篇相关随笔: Go语言:利用 TDD 测试驱动开发帮 ...
- C++ 测试框架 GoogleTest 初学者入门篇 甲
*以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/BS_u9A4EY50y4vDDuxkCAQ 开发者虽然主要负责工程 ...
- 「刷起来」Go必看的进阶面试题详解
勤学如春起之苗,不见其增日有所长:辍学如磨刀之石,不见其损日有所亏. 本文的重点:逃逸分析.延迟语句.散列表.通道.接口. 1.逃逸分析 逃逸分析是Go语言中的一项重要优化技术,可以帮助程序减少内存分 ...
- 记一次 .NET 某设备监控系统 死锁分析
一:背景 1. 讲故事 上周看了一位训练营朋友的dump,据朋友说他的程序卡死了,看完之后发现是一例经典的死锁问题,蛮有意思,这个案例算是学习 .NET高级调试 入门级的案例,这里和大家分享一下. 二 ...
- 修复Joe主题静态资源为国内地址
背景 Typecho 是由 type 和 echo 两个词合成的,来自于开发团队的头脑风暴. Type,有打字的意思,博客这个东西,正是一个让我们通过打字,在网络上表达自己的平台.Echo,意思是回声 ...