10Django项目--用户管理系统--改

对应视频链接点击直达

10Django项目--用户管理系统--改

    • 对应视频链接点击直达
        • a,本质
        • b,修改(更新)
    • 页面相关
        • a,index页面新增操作按钮
        • b,修改(更新)页面
        • c,路由和函数
    • OVER,不会有人不会吧···不会的加Q1394006513
        • 结语

用户管理,简而言之就是用户的增删改查。

08项目点击下载,可直接运行(含数据库)
链接:https://pan.baidu.com/s/1z618tD56bLRGzEly_n_6pA?pwd=1314
提取码:1314

a,本质

更改,本质是一个先查询,再操作的,两步结合命令

b,修改(更新)

如果是多条数据符合条件,取第一条

try:# 查找age大于18且gender等于0的用户,并获取第一条记录user = Users.objects.get(age__gt=18, gender=0)# 更新该用户的name字段值为张三user.name = '张三'# 保存更新到数据库user.save()print("用户信息已更新")
except User.DoesNotExist:print("没有找到符合条件的用户")
except User.MultipleObjectsReturned:print("找到多个符合条件的用户,这通常不应该发生,请检查数据的一致性")

所有符合条件的数据全都更改(一般直接用这个)

# 查找age大于18且gender等于0的所有用户,并更新它们的name字段值为张三
Users.objects.filter(age__gt=18, gender=0).update(name='张三')

页面相关

a,index页面新增操作按钮

一般在修改数据的时候,习惯上单条数据的修改,定位一般使用数据的唯一id
user_index新增

<a class="btn btn-primary btn-xs" href="/wodeapp/user_edit/{{ User.data_id }}" ><i class="fa fa-folder"></i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!-- 模拟修改请求 -->
</a>

然后找到数据,展现数据,根据管理员的操作修改,再保存
user_edit
请添加图片描述

b,修改(更新)页面
{% extends "public.html" %}
{% block title %}修改用户{% endblock %}{% block content %}<!-- page content --><div class="right_col" role="main"><div class=""><div class="page-title"><div class="title_left"><h3>Form Elements</h3></div><div class="title_right"><div class="col-md-5 col-sm-5 col-xs-12 form-group pull-right top_search"><div class="input-group"><input type="text" class="form-control" placeholder="Search for..."><span class="input-group-btn"><button class="btn btn-default" type="button">Go!</button></span></div></div></div></div><div class="clearfix"></div><div class="row"><div class="col-md-12 col-sm-12 col-xs-12"><div class="x_panel"><div class="x_title"><h2>Form Design <small>different form elements</small></h2><ul class="nav navbar-right panel_toolbox"><li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a><ul class="dropdown-menu" role="menu"><li><a href="#">Settings 1</a></li><li><a href="#">Settings 2</a></li></ul></li><li><a class="close-link"><i class="fa fa-close"></i></a></li></ul><div class="clearfix"></div></div><div class="x_content"><br /><form id="demo-form2" data-parsley-validate class="form-horizontal form-label-left" action="/wodeapp/user_eidt2/" method="post"><div class="form-group"><label class="control-label col-md-3 col-sm-3 col-xs-12" for="first-name"> 姓 名 </label><div class="col-md-6 col-sm-6 col-xs-12"><input type="text" id="first-name" required="required" class="form-control col-md-7 col-xs-12" name="name" value="{{ data.name }}"></div></div><div class="form-group"><label class="control-label col-md-3 col-sm-3 col-xs-12" for="first-name"> 年 龄 </label><div class="col-md-6 col-sm-6 col-xs-12"><input type="text" id="first-name" required="required" class="form-control col-md-7 col-xs-12" name="age"  value="{{ data.age }}"></div></div><div class="form-group"><label class="control-label col-md-3 col-sm-3 col-xs-12"> 性 别 </label><div class="col-md-6 col-sm-6 col-xs-12"><div id="gender" class="btn-group" data-toggle="buttons">{% if data.gender == 0 %}<label class="btn btn-default active" data-toggle-class="btn-primary" data-toggle-passive-class="btn-default"><input type="radio" name="gender" value=0 checked> &nbsp; &nbsp;&nbsp; &nbsp;</label><label class="btn btn-default" data-toggle-class="btn-primary" data-toggle-passive-class="btn-default"><input type="radio" name="gender" value=1> &nbsp;&nbsp;&nbsp; &nbsp;</label>{% elif data.gender == 1%}<label class="btn btn-default" data-toggle-class="btn-primary" data-toggle-passive-class="btn-default"><input type="radio" name="gender" value=0> &nbsp; &nbsp;&nbsp; &nbsp;</label><label class="btn btn-default active" data-toggle-class="btn-primary" data-toggle-passive-class="btn-default"><input type="radio" name="gender" value=1 checked> &nbsp;&nbsp;&nbsp; &nbsp;</label>{% endif %}</div></div></div><div class="form-group"><label class="control-label col-md-3 col-sm-3 col-xs-12" for="first-name" > 备 注 </label><div class="col-md-6 col-sm-6 col-xs-12"><input type="text" id=""  class="form-control col-md-7 col-xs-12" name="beizhu" value="{{ data.beizhu }}" ></div></div><div class="form-group"><label class="control-label col-md-3 col-sm-3 col-xs-12">用户编号</label><div class="col-md-6 col-sm-6 col-xs-12"><input  class="date-picker form-control col-md-7 col-xs-12" name="data_id" value="{{ data.data_id }}" readonly></div></div><div class="ln_solid"> </div>{% csrf_token %}<div class="ln_solid"></div><div class="form-group"><div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-3"><button class="btn btn-primary" type="reset"> 重  填 </button><button type="submit" class="btn btn-success"> 提  交 </button></div></div></form></div></div></div></div></div></div>{% endblock %}
c,路由和函数

我们可以理解成一个新的用户新增(ID和原来的一样)
urls

    # 用户更新path('user_edit/<int:data_id>/', views.user_edit, name='user_edit'),path('user_eidt2/', views.user_eidt2, name='user_eidt2'),

请添加图片描述
views

def user_eidt2(request):if request.method == 'POST':data_id = request.POST.get('data_id', None)print(data_id)Users.objects.filter(data_id=data_id).update(name=request.POST['name'], age=request.POST['age'], gender=request.POST['gender'], beizhu=request.POST['beizhu'])User_list = Users.objects.all()# print(User_list)# # 渲染显示return render(request, 'wodeapp/user_index.html', {'User_list': User_list, })

请添加图片描述
这样就行啦~

OK

OVER,不会有人不会吧···不会的加Q1394006513

结语

别的也没啥说的 , 如果觉得可以 , 希望一键三连支持一下 !

ok,那就这样吧~

欢迎各位大佬留言吐槽,也可以深入交流~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/17697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于jeecgboot-vue3的Flowable流程-我的任务(一)

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、首先可以用现成生成代码的前端来做这个&#xff0c;只要做一些调整就可以了&#xff0c;这样利用现有的一些模板可以快速构建我的任务&#xff0c;否则vue2与vue3相差太大&#xff0c;移…

质量人,你还在等什么?快来六西格玛培训公司充电吧!——张驰咨询

在竞争激烈的商业环境中&#xff0c;质量成为了企业生存和发展的关键。而六西格玛&#xff0c;作为一种全球公认的质量管理方法论&#xff0c;正在成为越来越多企业追求品质革命的重要工具。而六西格玛培训公司&#xff0c;则成为了这场品质革命中&#xff0c;质量人不可或缺的…

菊花链通信技术整理

目录 一、菊花链简介 二、菊花链与CAN通信的区别 三、常见的菊花链AFE芯片 四、菊花链数据结构 五、菊花链方案介绍 一、菊花链简介 首先简单的说一下菊花链以及菊花链的应用&#xff0c;在目前国内的BMS开发中&#xff0c;我们应用最广泛的目前还还是分布式&#xff0c;…

Linux:线程

文章目录 前言1. 线程概念1.1 什么是线程1.2 线程比进程更加轻量化1.3 虚拟地址到物理地址的转化物理内存的管理页表 1.4 线程的优点1.5 线程的缺点1.6 线程异常1.7 线程用途 2. 进程 vs 线程3. 线程控制3.1 线程创建3.2 线程退出3.3 线程等待3.4 分离线程3.5 线程取消 4. 线程…

机器学习-6-对随机梯度下降算法SGD的理解

参考一文带您了解随机梯度下降(Stochastic Gradient Descent):python代码示例 参考sklearn-SGDClassifier 1 梯度下降 在机器学习领域,梯度下降扮演着至关重要的角色。梯度下降是一种优化算法,通过迭代沿着由梯度定义的最陡下降方向,以最小化函数。类似于图中的场景,可以…

english语法

从句&#xff1a;简单句连词 介词

Android studio sdk 虚拟机无法打开运行

1.确认是否在BIOS开启硬件虚拟化支持,选择Enable 2.win8/win10 Hyper-V冲突。控制面板-》程序与功能-》windows功能-》关闭 Hyper-V 3.sdk 路径非默认路径 复制avd C:\Users\Administrator\.android\avd 到 sdk的安装路径下 D:\Android\sdk 。重启软件重新启动即可

老板:2个亿的销售额,利润只有55万!电商这个生意真的到头了?

近来&#xff0c;一段对话轰动了半个电商圈的老板&#xff0c;干拼多多&#xff0c;2亿的销售额&#xff0c;利润只有55万&#xff01; 其实造成这一现象的原因就是“内卷” 说一句电商行业真实的现状&#xff0c;电商发展了十几年&#xff0c;网友对网购已经完全熟悉&#x…

DuGa-DIT论文翻译

Dual Gated Graph Attention Networks with Dynamic Iterative Training for Cross-Lingual Entity Alignment 双门控图注意力网络与跨语言实体对齐的动态迭代训练 Abstract 近年来&#xff0c;跨语言实体对齐引起了相当大的关注。过去使用传统方法来匹配实体的研究都有一个…

Linux--构建进程池

目录 1.进程池 1.1.我们先完成第一步&#xff0c;创建子进程和信道 1.2. 通过channel控制&#xff0c;发送任务 1.3回收管道和子进程 1.4进行测试 1.5完整代码 1.进程池 进程池其产生原因主要是为了优化大量任务需要多进程完成时频繁创建和删除进程所带来的资源消耗&#…

CentOS7 部署单机版 ElasticSearch + Logstash

一、部署ElasticSearch Elasticsearch部署参考下面文章&#xff1a; CentOS7 部署单机版 elasticsearch-CSDN博客文章浏览阅读285次&#xff0c;点赞6次&#xff0c;收藏3次。ElasticSearch&#xff0c;用于检索、聚合分析和大数据存储https://blog.csdn.net/weixin_44295677…

后端经典三层架构

大家好&#xff0c;这里是教授.F 引入&#xff1a; MVC 全称∶ Model 模型、View 视图、 Controller 控制器。MVC 最早出现在 JavaEE 三层中的 Web 层&#xff0c;它可以有效的指导WEB 层的代码如何有效分离&#xff0c;单独工作。 View 视图∶只负责数据和界面的显示&#…

拼多多买家关注店铺 id 导出商品收藏导出查看全店spu_id

拼多多买家账号导出关注列表店铺 id、商品 id 登录网页端拼多多界面&#xff0c;清缓存后 F12加载数据&#xff0c;下滑界面自动加载缓存&#xff1b; 查看商品收藏 登录网页端拼多多界面&#xff0c;清缓存后 F12加载数据&#xff0c;下滑界面自动加载缓存&#xff1b; 一…

【招聘帖】资深数通专家 ,薪资最高3.5W

资深数通专家 薪资&#xff1a;25000-35000 元/月 工作职责 岗位职责&#xff1a; 1、负责统筹管理客户全网问题&需求跟踪管理及汇报、日常数通团队工作的每日分解协调、人员技能内训及跟踪闭环&#xff1b; 2、负责统筹对架构基线梳理评估、软件版本管理、应急方案可执行…

Git-01

Git是一个免费且开源的分布式版本控制系统&#xff0c;它可以跟踪文件的修改、记录变更的历史&#xff0c;并且在多人协作开发中提供了强大的工具和功能。 Git最初是由Linus Torvalds开发的&#xff0c;用于Linux内核的开发&#xff0c;现在已经成为了广泛使用的版本控制系统&a…

拉普拉斯IPO:新能源产业快速发展,为低碳转型注入强劲动力

近年来&#xff0c;我国新能源产业快速发展&#xff0c;为全球绿色低碳转型注入强劲动力。国际人士认为&#xff0c;中国新能源产业快速发展&#xff0c;得益于超大规模市场优势、完整的工业体系和丰富的人力资源&#xff0c;得益于企业对研发创新的巨大投入&#xff0c;我国市…

安装PyTorch详细步骤

&#x1f4a5;注意事项&#xff1a; CPU版和GPU版选一个进行安装即可 如果有Nvidia显卡&#xff0c;则安装cuda版本的PyTorch&#xff0c;如没有nvidia显卡&#xff0c;则安装cpu版。 目前常见的深度学习框架有很多&#xff0c;最出名的是&#xff1a;PyTorch&#xff08;faceb…

expect自动交互

在执行命令或脚本的时候&#xff0c;当控制台提示我们需要输入账号密码、参数等信息的时候&#xff0c;expect可以将预设的参数值自动输入到控制台&#xff0c;实现了自动交互。 1. 安装expect yum install expect 2. 案例&#xff1a; 创建 demo.exp 文件&#xff0c;并添…

Linux 系统中 ODBC 驱动的安装与配置指南

Linux 下的 ODBC 包 从发布包中获取&#xff0c;包名为 openGauss-*.*.0-ODBC.tar.gz。Linux 环境下&#xff0c;开发应用程序要用到 unixODBC 提供的头文件&#xff08;sql.h、sqlext.h 等&#xff09;和库 libodbc.so。这些头文件和库可从 unixODBC-2.3.0 的安装包中获得。 …

降压芯片SL3036耐压100V 电机驱动板应用48-85V降压12V 1A以内

降压芯片SL3036以其卓越的耐压特性&#xff0c;能够在高达100V的电压环境下稳定运行&#xff0c;为电机驱动板等应用提供了强大的电源支持。这款芯片在电机驱动板中发挥着至关重要的作用&#xff0c;特别是在那些需要48-85V宽范围输入电压并降压至稳定12V输出的场景中&#xff…