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


相关推荐
计算机编程小央姐10 小时前
跟上大数据时代步伐:食物营养数据可视化分析系统技术前沿解析
大数据·hadoop·信息可视化·spark·django·课程设计·食物
诗句藏于尽头10 小时前
Django模型与数据库表映射的两种方式
数据库·python·django
IT学长编程19 小时前
计算机毕业设计 基于Hadoop豆瓣电影数据可视化分析设计与实现 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试
大数据·hadoop·python·django·毕业设计·毕业论文·豆瓣电影数据可视化分析
Python私教1 天前
Django全栈班v1.04 Python基础语法 20250912 下午
后端·python·django
凡梦千华1 天前
Django时区感知
后端·python·django
程序设计实验室1 天前
Django过时了吗?从ASGI到AI时代的思考
django
Python私教2 天前
Django全栈班v1.04 Python基础语法 20250912 上午
后端·python·django
言之。2 天前
Django REST框架:ModelViewSet全面解析
数据库·python·django
魂尾ac2 天前
Django + Vue3 前后端分离技术实现自动化测试平台从零到有系列 <第一章> 之 注册登录实现
后端·python·django·vue
Q_Q19632884752 天前
python+springboot+uniapp微信小程序题库系统 在线答题 题目分类 错题本管理 学习记录查询系统
spring boot·python·django·uni-app·node.js·php