Django4全栈进阶之路18 项目实战(用户管理):user_edit.html用户编辑画面设计
1、模块
{% extends 'base.html' %}
{% block content %}
<!-- 编辑用户表单 -->
<div class="card mt-3">
<div class="card-header">编辑用户</div>
<div class="card-body">
<form method="post">
{% csrf_token %}
<div class="form-group">
<label for="username">用户名:</label>
<input type="text" class="form-control" id="username" name="username" value="{{ user.username }}">
</div>
<div class="form-group">
<label for="password">密码:</label>
<input type="password" class="form-control" id="password" name="password"
value="{{ user.password }}">
</div>
<div class="form-group">
<label for="confirm_password">确认密码:</label>
<input type="password" class="form-control" id="confirm_password" name="confirm_password"
value="{{ user.password }}">
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" name="email" required class="form-control">
</div>
<button type="submit" class="btn btn-primary">保存</button>
<a href="{% url 'user_list' %}?success=true" class="btn btn-secondary btn-sm">返回</a>
</form>
</div>
</div>
{% endblock %}
2、视图
@login_required
def user_edit_view(request, pk):
# 根据 user_id 获取对应的用户对象
user = get_object_or_404(User, pk=pk)
if request.method == 'POST':
# 获取用户提交的表单数据
username = request.POST.get('username')
password = request.POST.get('password')
confirm_password = request.POST.get('confirm_password') # 判断密码和确认密码是否一致
if password != confirm_password:
error_msg = '两次输入的密码不一致'
return render(request, 'account/user_edit.html', {'user': user, 'error_msg': error_msg}) # 更新用户密码
user.username = username
user.set_password(password)
user.save() # 跳转到用户列表页面
return redirect('user_list') return render(request, 'account/user_edit.html', {'user': user})
3、路由:
urlpatterns = [
# ... 其他 URL 模式 ...
path('user/edit/<int:pk>/', views.user_edit_view, name='user_edit'),
]
4、user_list.html编辑按钮链接设置:
<td>
<a class="btn btn-primary btn-xs" href="{% url 'user_edit' user.id %}">编辑</a>
</td>
5、效果:

Django4全栈进阶之路18 项目实战(用户管理):user_edit.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全栈开发之路 【第七篇】:面向对象编程设计与开发(1)
本节内容 一.编程范式 编程指的是写程序.敲代码,就是指程序员用特定的语法.数据结构和算法编写的代码,目的是来告诉计算机如何执行任务的. 在编程的世界里最常见的两大流派是:面向过程与面向对象.“功夫的 ...
- Python全栈开发之路 【第六篇】:Python基础之常用模块
本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...
- 全栈开发系列学习2——django项目搭建
项目代码:http://yunpan.cn/cHajgT4HvgHqx (提取码:8350) 配置项目: 1. 首先确保你的机器安装了python和pip,这两种安装比较简单,这里就不说了. 2. 在 ...
随机推荐
- mysql 不包含某个字符
转载网址: https://blog.csdn.net/mp624183768/article/details/121696040?utm_medium=distribute.pc_relevant. ...
- fortify Unsafe JNI
Unsafe JNI 主要解决问题: 1.system.currentTimeMillis(); 使用SystemClock.now()替换. 2.isAssignableFrom(); 使用新定义的 ...
- 前端性能精进之浏览器(五)——JavaScript
JavaScript 是一种通过解释执行的高级编程语言,同时也是一门动态.弱类型的直译脚本语言,适合面向对象(基于原型)和函数式的编程风格. 直译语言可以直接在解释器中运行,而与直译语言相对应的编译语 ...
- Scanner基础用法
Scanner基础用法 引入包java.util.Scanner 读一个单词 package charpter2; import java.util.Scanner; public class Sca ...
- 王树森Transformer学习笔记
目录 Transformer Attention结构 Self-Attention结构 Multi-head Self-Attention BERT:Bidirectional Encoder Rep ...
- Google Protobuf 编解码
更多内容,前往个人博客 Protobuf 全称:Google Protocol Buffers,由谷歌开源而来,经谷歌内部测试使用.它将数据结构以 .proto 文件进行描述,通过代码生成工具可以生成 ...
- 基于Locust实现MQTT协议服务的压测脚本
最近在忙业务的间隙,穿插着做了些性能测试. 一.背景简介 业务背景大概介绍一下,就是按照国标规定,车辆需要上传一些指定的数据到ZF的指定平台,同时车辆也会把数据传到企业云端服务上,于是乎就产生了一些性 ...
- IconJar - Mac 上的一款多功能图标素材管理工具
IconJar 是一个多功能的图标管理工具,由世界各地的设计师和开发人员使用.在一个应用程序中搜索.组织.预览和检索图标,而不是创建大量的文件夹来存储你的收藏.这款应用针对黑暗模式进行了优化,并支持S ...
- ASP.NET Core - 选项系统之源码介绍
.NET Core 选项系统的主要实现在 Microsoft.Extensions.Options 和 Microsoft.Extensions.Options.ConfigurationExtens ...
- 重磅!Apache Hudi联合传智教育推出免费中文视频教程
基础介绍 Apache Hudi(简称:Hudi)使得您能在hadoop兼容的存储之上存储大量数据,同时它还提供两种原语,使得除了经典的批处理之外,还可以在数据湖上进行流处理.这两种原语分别是: Up ...