首页 > 其他分享 >数据的查,改,删

数据的查,改,删

时间:2023-11-20 20:58:27浏览次数:21  
标签:edit request user password 数据 id

# 先讲数据库中的数据全部展示到前端 然后给每一个数据两个按钮 一个编辑一个删除

# 查看
def userlist(request):
# 查询出用户表里面所有的数据
# 方式1
# data = models.User.objects.filter()
# print(data)
# 方式2
user_queryset = models.User.objects.all()
# return render(request,'userlist.html',{'user_queryset':user_queryset})
return render(request,'userlist.html',locals())

# 编辑功能
# 点击编辑按钮朝后端发送编辑数据的请求
"""
如何告诉后端用户想要编辑哪条数据?
将编辑按钮所在的那一行数据的主键值发送给后端
利用url问号后面携带参数的方式

{% for user_obj in user_queryset %}
<tr>
<td>{{ user_obj.id }}</td>
<td>{{ user_obj.username }}</td>
<td>{{ user_obj.password }}</td>
<td>
<a href="/edit_user/?user_id={{ user_obj.id }}" class="btn btn-primary btn-xs">编辑</a>
<a href="" class="btn btn-danger btn-xs">删除</a>
</td>
</tr>
{% endfor %}
"""
# 后端查询出用户想要编辑的数据对象 展示到前端页面供用户查看和编辑
def edit_user(request):
# 获取url问号后面的参数
edit_id = request.GET.get('user_id')
# 查询当前用户想要编辑的数据对象
edit_obj = models.User.objects.filter(id=edit_id).first()

if request.method == "POST":
username = request.POST.get('username')
password = request.POST.get('password')
# 去数据库中修改对应的数据内容
# 修改数据方式1
# models.User.objects.filter(id=edit_id).update(username=username,password=password)
"""
将filter查询出来的列表中所有的对象全部更新 批量更新操作
只修改被修改的字段
"""

# 修改数据方式2
edit_obj.username = username
edit_obj.password= password
edit_obj.save()
"""
上述方法当字段特别多的时候效率会非常的低
从头到尾将数据的所有字段全部更新一边 无论该字段是否被修改
"""

# 跳转到数据的展示页面
return redirect('/userlist/')

 

# 将数据对象展示到页面上
return render(request,'edit_user.html',locals())

# 删除功能
"""
跟编辑功能逻辑类似
def delete_user(request):
# 获取用户想要删除的数据id值
delete_id = request.GET.get('user_id')
# 直接去数据库中找到对应的数据删除即可
models.User.objects.filter(id=delete_id).delete()
"""
批量删除
"""
# 跳转到展示页面

return redirect('/userlist/')

"""
# 真正的删除功能应该需要二次确认 我们这里先不做后面会讲
# 删除数据内部其实并不是真正的删除 我们会给数据添加一个标识字段用来表示当前数据是否被删除了,如果数据被删了仅仅只是讲字段修改一个状态
username password is_delete
jason 123 0
egon 123 1

标签:edit,request,user,password,数据,id
From: https://www.cnblogs.com/97zs/p/17844821.html

相关文章

  • SQL 中的 NULL 值:定义、测试和处理空数据,以及 SQL UPDATE 语句的使用
    SQLNULL值什么是NULL值?NULL值是指字段没有值的情况。如果表中的字段是可选的,那么可以插入新记录或更新记录而不向该字段添加值。此时,该字段将保存为NULL值。需要注意的是,NULL值与零值或包含空格的字段不同。具有NULL值的字段是在记录创建期间留空的字段。如何测试NU......
  • pycharm链接数据库 django链接MySQL
    #找到pycharmdatabase选项(三个地方查找)#选取对应的数据库下载对应的驱动"""明明链接上了数据库但是看不到表无法操作这个时候你只需要将刚刚创建的链接删除重新链接一次即可"""  #1.配置文件中配置DATABASES={'default':{'ENGINE':'django.db.back......
  • 配置impala自动同步HMS元数据
    由于Impala的AutomaticInvalidate/RefreshMetadata的功能在CDH6.3版本才有的功能,通过以上两个升级,已经具备的该功能,下面是需要配置该功能测试环境1.CM和CDH版本为6.1.1(hive的版本升级到了CDH6.3.2-2.1.1)2.操作系统版本为RedHat7.63.impala3.4版本操作步骤进入CM界面>Hive......
  • Redis:Key-Value的NoSQL数据库
    Redis:Key-Value的NoSQL数据库(基础)主要内容:数据库分类Redis入门客户端连接RedisRedis数据类型及操作Springboot整合RedisSpringCache学习目标:知识点要求数据库分类熟悉Redis使用场景熟悉Redis下载与安装了解Redis启动关闭掌握客户端连接Redis......
  • 【C++】【OpenCV】【NumPy】图像数据的访问
    接上一随笔,这次学习针对图像数据的访问(Numpy.array)在OpenCV中,使用imread()方法可以访问图像,其返回值是一个数组,而根据传入的不同图像,将会返回不同维度的数组。针对返回的图像数据,即数组,我们是可以进行操作的:1importcv223#MyPic.png图像自行随意创建一个原始字符转换......
  • sodick 成型机 沙迪克 数据采集 制程参数
    1、工业电脑主机设置2个共享文件夹比如在D盘:EXPORT和DATA  ,名字不能改。新建Window登录账号sodick和plustech,密码111 手册中有账号密码  2、sodick机台设置成型机的ip和工业电脑主机的ip,保证在同一个网段。 sodick自己会放共享里面写文件。账号密码如上面,不能改。......
  • yolo v5 下载新数据集被防火墙proxy挡住,如何设置proxy. torch.hub.download_url_to_fi
    当我们想运行yolov5时候,我们发现有的时候,由于网关问题,proxy会成为阻碍。例如如下错误;  将代码如下修改,就能改好:1.原始代码: 2.增加proxy设置: importurllib.requestimporttorch.hub#设置代理信息proxy_support=urllib.request.ProxyHandler({'http':'http......
  • 不同数据库创建用户,数据库的SQL语句整理
    不同数据库创建用户,数据库的SQL语句整理MySQLmysql-uroot-p#输入密码登录数据库CREATEDATABASEIFNOTEXISTSxxxdata_someinfoDEFAULTCHARSETutf8mb4;createuser'xxx_someinfo'@'%'identifiedby'Testsomepassword';grantallprivilegesonxxxda......
  • 软件测试/人工智能|测试数据很头疼,ChatGPT帮你造
    简介在我们完成了测试用例的编写之后,我们就需要造不同的测试数据去进行实际的测试工作了,我们要让我们的测试尽可能地覆盖所有的情况,就需要我们根据测试用例的设计方法,去设计更多的测试数据,执行更多地测试用例,使得测试更加完善。在造测试数据的时候,ChatGPT当然也可以帮我们很多。......
  • 请求扩展,蓝图 , flask-session,数据库连接池,wtforms ,flask-script,信号,flask-cache
    1请求扩展......