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


相关推荐
牢七20 小时前
5655869
django
秋氘渔2 天前
智演沙盘 —— 基于大模型的智能面试评估系统
python·mysql·django·drf
jcsx3 天前
如何将django项目发布为https
python·https·django
百锦再3 天前
京东云鼎入驻方案解读——通往协同的“高架桥”与“快速路”
android·java·python·rust·django·restful·京东云
Warren983 天前
datagrip新建oracle连接教程
数据库·windows·云原生·oracle·容器·kubernetes·django
韩立学长3 天前
【开题答辩实录分享】以《跳蚤市场二手物品交易推荐平台》为例进行选题答辩实录分享
python·django
飞天小蜈蚣3 天前
django的ulr注意事项、模板渲染
python·django·sqlite
Q_Q5110082853 天前
python_django基于大数据技术旅游景点数据分析推荐系统现_wrqk1aes
大数据·python·django
心本无晴.4 天前
拣学--基于vue3和django框架实现的辅助考研系统
vue.js·python·mysql·考研·django·dify
Darenm1114 天前
关于AI 面试官项目:智选ai 基于 Vue3 + Django + Dify 的全栈开发实战
人工智能·python·django