【银角大王——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

相关文章

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建

如何用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