Django中简单的增删改查

用户列表展示

建立列表

views.py

复制代码
def userlist(request):
    return render(request,'userlist.html')

urls.py

复制代码
urlpatterns = [
    path('admin/', admin.site.urls),
    
    path('userlist/', views.userlist),
]

templates----userlist.html

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
    <div class="row">
        <h1 class="text-center">用户列表</h1>
        <table class="table table-striped table-hover table-bordered">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>username</th>
                    <th>password</th>
                    <th>gender</th>
                    <th>action</th>

                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                    <td>4</td>
                    <td>5</td>
                </tr>
            </tbody>
        </table>
    </div>
</div>



</body>
</html>

效果

数据的增删改查

(insert update delete select)

修改数据的逻辑分析

1. 先确定修改哪条记录------>怎么样确定修改哪条记录?

2. 通过什么字段可以确定唯一一条记录? 主键id,要携带主键id到后端.

3. 在后端接收主键id值,然后根据这个id值再去表中查询数据,查询一条

4. 然后把查询的数据在渲染到页面中,然后在修改

5. 把修改之后的表单提交到后端,在做修改

修改数据

数据修改页面的搭建

先修改urls.py文件中的urlpatterns,添加edit

复制代码
urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index),
    path('home/', views.home),
    path('login/', views.login),
    #path('do_login/', views.do_login),
    path('userlist/', views.userlist),
    path('ab_render/', views.ab_render),
    path('edit/', views.edit),
]

再修改userlist.html中的href

在views.py中写入新命令

复制代码
def edit(request):
    edit_id=request.GET.get('id')
    edit_obj=models.UserInfo.objects.filter(id=edit_id).first()
    return render(request,'edit.html',locals())

在templates中edit.html新建网页,写入新页面内容

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="row">
    <h1 class="text-center">修改页面</h1>
    <form action="">
        <div class="form-group">
            用户名:<input type="text" class="form-control" name="username" value="{{ edit_obj.username }}">
        </div>
        <div class="form-group">
            密码:<input type="password" class="form-control" name="password" value="{{ edit_obj.password }}">
        </div>
        <div class="form-group">
            性别:<input type="text" class="form-control" name="gender" value="{{ edit_obj.gender }}">
        </div>
        <div class="form-group">
            <input type="submit" class="btn btn-info btn-block" value="提交">
        </div>
    </form>
</div>



</body>
</html>

效果,点击修改后条跳转修改新页面


开始修改数据

#第一种方法

在views.py中修改数据

#第二种方法

在views.py中修改数据

ID主键替换通用写法:pk

删除功能

删除功能的分析

1. 给删除按钮加一个链接,携带当前记录的id值

2. 后端要接收这个主键id值

3. 后端直接执行删除操作

先修改urls.py文件中的urlpatterns,添加del

再修改userlist.html中的href

在views.py中写入新命令

第一种删除方法

第二种删除方式

添加功能

先修改urls.py文件中的urlpatterns,添加add

再修改userlist.html中的href

在templates中add.html新建网页,写入新页面内容

在views.py中写入新命令

第一种添加方法

第二种添加方法

END


相关推荐
龙腾AI白云1 天前
多模大模型应用实战:智能问答系统开发
python·机器学习·数据分析·django·tornado
程序媛徐师姐1 天前
Python基于OpenCV的马赛克画的设计与实现【附源码、文档说明】
python·opencv·django·马赛克绘画·python马赛克绘画系统·马赛克画·python马赛克画
斯班奇的好朋友阿法法2 天前
Django 项目打包部署完整指南(适配你的项目,零报错)
python·django·sqlite
斯班奇的好朋友阿法法2 天前
Django 3.2 项目:从 Hello World 开始(完整功能版)
python·django
源码之屋3 天前
计算机毕业设计:Python天气数据采集与可视化分析平台 Django框架 线性回归 数据分析 大数据 机器学习 大模型 气象数据(建议收藏)✅
人工智能·python·深度学习·算法·django·线性回归·课程设计
架构师老Y3 天前
003、Python Web框架深度对比:Django vs Flask vs FastAPI
前端·python·django
暴力袋鼠哥3 天前
基于 Django 与 Vue 的汽车数据分析系统设计与实现
vue.js·django·汽车
360智汇云3 天前
PostgreSQL 全文检索深度指南:内置 FTS、zhparser 与 pg_search 全解
postgresql·django·全文检索
leo_messi944 天前
2026版商城项目(三)-- ES+认证服务
后端·python·django
毕胜客源码4 天前
改进yolov8的香蕉成熟度检测系统,改进前后的模型指标对比,有技术文档,支持图像、视频和摄像实时检测
人工智能·python·深度学习·yolo·django