【银角大王——Django课程——用户表的基本操作2】

2024-05-05 02:36

本文主要是介绍【银角大王——Django课程——用户表的基本操作2】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用户表的基本操作2

    • 编辑用户按钮
    • 删除按钮
    • 入职日期——不显示时分,只显示年月日——使用DataField函数不使用DateTimeField
      • 修改models记得重新执行命令,更新数据库结构
      • 修改前
      • 修改后

编辑用户按钮

  1. 点击编辑,跳转到编辑页面(将编辑的ID携带过去)

代码如下:

urlpatterns = [#用户编辑path('user/<int:nid>/edit/',views.user_edit),
]
  1. 编辑页面(默认数据,根据id获取并设置到页面中)
    (1)提交
    (2)错误提示
    (3)数据校验
    (4)在数据库更新

#编辑用户
def user_edit(request,nid):# 根据ID去数据库获取要编辑的那一行数据row_object = models.UseInfo.objects.filter(id=nid).first()if request.method=='GET':# #根据ID去数据库获取要编辑的那一行数据# row_object=models.UseInfo.objects.filter(id=nid).first()# 将数据显示出来form=UserModelForm(instance=row_object)return render(request,'user_edit.html',{'form':form})else:# #拿到对象# row_object=models.UseInfo.objects.filter(id=nid).first()#不新增数据,将用户提交的数据新修改到对应的数据项#instance传递用户提交的数据form= UserModelForm(data=request.POST,instance=row_object)#数据校验if form.is_valid():#添加数据form.save()return redirect('/user/list/')return render(request,'user_edit.html',{"form":form})
  1. HTML页面
{% extends 'layout.html' %}
{% block content %}<div class="container"><div class="panel panel-default"><div class="panel-heading"><h3 class="panel-title"> 编辑用户 </h3></div><div class="panel-body">
<!--              novalidate关掉页面校验  --><form method="post" novalidate>
<!--                    隐含参数-->{% csrf_token %}{% for field in form %}<div class="form-group"><label >{{ field.label }}</label>{{ field }}<span style="color:red;">{{field.errors.0}}</span><!--                        <input type="text" class="form-control"  placeholder="标题" name="user">--></div>{% endfor %}<button type="submit" class="btn btn-primary">提 交</button></form></div></div></div>{% endblock %}
  1. 编辑演示
    请添加图片描述

删除按钮

  1. 添加路径与函数的关系
urlpatterns = [#用户删除path('user/<int:nid>/delete/', views.user_delete),
]
#用户删除函数def user_delete(request,nid):models.UseInfo.objects.filter(id=nid).delete()return redirect('/user/list/')
  1. 删除演示
    请添加图片描述

入职日期——不显示时分,只显示年月日——使用DataField函数不使用DateTimeField

修改models记得重新执行命令,更新数据库结构

python manage.py makemigrations
python manage.py migrate

在这里插入图片描述

修改前

在这里插入图片描述

修改后

在这里插入图片描述

这篇关于【银角大王——Django课程——用户表的基本操作2】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/960636

相关文章

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b

《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P98

更改为 差分的数学表达式从泰勒级数展开式可得: 后悔没听廖老师的。 禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》 禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

家庭和学生用户笔记本电脑配置方案

2.6.1  家庭和学生用户笔记本电脑配置方案   2.6.1  家庭和学生用户笔记本电脑配置方案   普通家庭用户、学生用户主要用于上网、娱乐、学习等,这类用户要求笔记本电脑的各方面 功能比较均衡。在选购此类笔记本电脑时,主要考虑外观设计方面要比较时尚,而且性能上也要 够强,一些大型复杂的软件以及目前的主流游戏都要能够流畅地运行才行。   对于CPU方面,可以考虑目前主流的第二

Ubuntu ftp搭建--配置不同用户不同权限

一、安装VSFTP sudo apt-get install vsftpd 二、添加FTP用户 sudo mkdir /etc/vsftpdsudo useradd -m -d /home/vsftpd vsftpd --用户名为vsftpd,目录和用户名可以自己更改sudo vi /etc/vsftpd/ftpuser.txt --这个到时与vsftp的配置文件对应建立一

MongoDB学习—(3)shell的基本操作

一,删除数据库中的集合文档 命令为 db.[documentName].drop() 二,删除数据库 命令为 db.dropDatabase() 执行该命令时,应该先进入想要删除的数据库中,如 三,shell中的help 我们可以运用shell中的help来查询相关的操作,查询数据库相关的就用db.help(),查询集合相关的就用db.[documentName].help

MongoDB学习—(2)shell的基本操作

一,创建一个数据库 使用use关键字,格式为 use [databasename] 当你这样创建一个数据库时,该数据库只是创建于内存中,只有你对数据库执行一些操作后,数据库才真正的创建,否则如果直接关掉mongodb,数据库在内存中会被删除掉。 二,查看所有数据库 命令为 show dbs Mysql中的命令为show databases,两者有所不同。 三,查看数据库中的现有的文

带头结点的线性链表的基本操作

持续了好久,终于有了这篇博客,链表的操作需要借助图像模型进行反复学习,这里尽可能的整理并记录下自己的思考,以备后面复习,和大家分享。需要说明的是,我们从实际应用角度出发重新定义了线性表。 一. 定义 从上一篇文章可以看到,由于链表在空间的合理利用上和插入、删除时不需要移动等优点,因此在很多场合下,它是线性表的首选存储结构。然而,它也存在某些实现的缺点,如求线性表的长度时不如顺序存储结构的