配置修改

1. templates目录修改路径

djangorestframework 增删改 django增删改查接口_数据库

2. 如果要添加新的应用的话则需要在installed_apps里面加上去

djangorestframework 增删改 django增删改查接口_图层_02

3. static静态文件的配置成动态文件

djangorestframework 增删改 django增删改查接口_数据库_03


接口前缀正确之后 会拿着后面的路径依次去到列表中自上而下查找 一旦找到就返回

如果要修改static_url里面的/static/通行证名字,则需要加上接口前缀动态匹配

djangorestframework 增删改 django增删改查接口_图层_04

4. 连接数据库

需要修改ip地址,端口号,数据库的账号密码

djangorestframework 增删改 django增删改查接口_数据_05

5.前期发送post请求需要注释掉配置文件中的某一行

djangorestframework 增删改 django增删改查接口_数据库_06


需要注释掉这个,否则无法执行

urls.py 存储网址后缀与函数名对应的关系(开设接口)

前面的路由如果被浏览器输入或者被重定向确定了会立刻执行后面的视图函数

urlpatterns = [
    path('admin/', admin.site.urls),
    #访问用户数据的接口
    path('user_list/', views.user_list_func),
    #添加数据的接口
    path('user_add/', views.user_add_func),
    #编辑数据的接口
    path('user_edit/', views.user_edit_func),
    #删除数据的接口
    path('user_del/', views.user_del_func),
]

数据库数据

djangorestframework 增删改 django增删改查接口_数据库_07

数据展现功能

1. templates里面的html文件

<div class="container">
    <div class="row">
        <h1 class="text-center">数据展示页</h1>
        <div class="col-md-8  col-md-offset-2">
            <table class="table-hover  table-striped table">
                <a href="/user_add/" class="btn btn-success">数据添加</a>
                <thead>
                <tr>
                    <th>ID</th>
                    <th>Name</th>
                    <th>Age</th>
                    <th>Operation</th>
                </tr>
                </thead>
                <tbody>
                    {% for user_obj in user_data %}
                        <tr>
                        <td>{{ user_obj.pk }}</td>
                        <td>{{ user_obj.name }}</td>
                        <td>{{ user_obj.age }}</td>
                        <td>
                            <a href="#" class="btn btn-primary btn-xs">编辑</a>
                            <a href="#" class="btn btn-danger btn-xs ">删除</a>
                        </td>
                        </tr>

                    {% endfor %}
                </tbody>
            </table>
        </div>
    </div>
</div>

{% for user_obj in user_data %}将数据库里面的数据循环遍历成一个user_obj对象
然后通过对象点出数据库里面的数据
{{ user_obj.pk }} id
{{ user_obj.name }} 名字
{{ user_obj.age }} 年龄

2.view函数视图层

djangorestframework 增删改 django增删改查接口_图层_08

3.执行画面

djangorestframework 增删改 django增删改查接口_数据_09

数据添加功能

djangorestframework 增删改 django增删改查接口_图层_10


在主视图数据添加的a标签中输入添加功能的接口href="/user_add/",然后通过接口访问视图函数

1.templates里面的添加视图

djangorestframework 增删改 django增删改查接口_图层_11


form里面的action不填写的话就是把数据默认提交给当前页面所在的地址(视图函数需要获取填写的数据进行判断)

2.view函数视图层

djangorestframework 增删改 django增删改查接口_数据_12


默认数据添加到末尾

3.执行画面

djangorestframework 增删改 django增删改查接口_数据_13

数据编辑功能(微难)

djangorestframework 增删改 django增删改查接口_图层_14


在主视图数据添加的a标签中输入添加功能的接口href="/user_edit/",然后通过接口访问视图函数

get请求朝服务端索要数据也可以携带一些额外的数据

携带额外数据的方式: URL?xxx=yyy&uuu=zzz

问号后面携带数据的大小是有限制(2KB)的并且不能携带敏感数据

href="/user_edit/?edit_id={{ user_obj.pk }}"携带数据库的id

1.templates里面的编辑视图

djangorestframework 增删改 django增删改查接口_数据库_15


value="{{ target_edit_obj.age }}"在函数视图层获取该id字段对应的对象,然后点出名字和年龄提前展示在编辑框内

2.view函数视图层

djangorestframework 增删改 django增删改查接口_数据库_16


(pk = target_edit_id)[0]获取该数据id对应的对象

djangorestframework 增删改 django增删改查接口_数据库_17


然后在model里面添加以获得id对应的名字

3.执行画面

djangorestframework 增删改 django增删改查接口_数据_18

数据删除功能

djangorestframework 增删改 django增删改查接口_数据库_19


与编辑数据同理

1.templates里面的删除script视图

djangorestframework 增删改 django增删改查接口_数据库_20


如果点击删除会触发click点击事件,confirm会给你一个弹窗确定还是取消的选择,分别对应着ture 或者 false,如果选择取消则return false则终止标签的运行,确定则什么都不做就是删除

2.view函数视图层

djangorestframework 增删改 django增删改查接口_图层_21

执行画面

djangorestframework 增删改 django增删改查接口_数据库_22