配置修改
1. templates目录修改路径
2. 如果要添加新的应用的话则需要在installed_apps里面加上去
3. static静态文件的配置成动态文件
接口前缀正确之后 会拿着后面的路径依次去到列表中自上而下查找 一旦找到就返回
如果要修改static_url里面的/static/通行证名字,则需要加上接口前缀动态匹配
4. 连接数据库
需要修改ip地址,端口号,数据库的账号密码
5.前期发送post请求需要注释掉配置文件中的某一行
需要注释掉这个,否则无法执行
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),
]
数据库数据
数据展现功能
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函数视图层
3.执行画面
数据添加功能
在主视图数据添加的a标签中输入添加功能的接口href="/user_add/"
,然后通过接口访问视图函数
1.templates里面的添加视图
form里面的action不填写的话就是把数据默认提交给当前页面所在的地址(视图函数需要获取填写的数据进行判断)
2.view函数视图层
默认数据添加到末尾
3.执行画面
数据编辑功能(微难)
在主视图数据添加的a标签中输入添加功能的接口href="/user_edit/"
,然后通过接口访问视图函数
get请求朝服务端索要数据也可以携带一些额外的数据
携带额外数据的方式: URL?xxx=yyy&uuu=zzz
问号后面携带数据的大小是有限制(2KB)的并且不能携带敏感数据
href="/user_edit/?edit_id={{ user_obj.pk }}"
携带数据库的id
1.templates里面的编辑视图
value="{{ target_edit_obj.age }}"
在函数视图层获取该id字段对应的对象,然后点出名字和年龄提前展示在编辑框内
2.view函数视图层
(pk = target_edit_id)[0]
获取该数据id对应的对象
然后在model里面添加以获得id对应的名字
3.执行画面
数据删除功能
与编辑数据同理
1.templates里面的删除script视图
如果点击删除会触发click点击事件,confirm会给你一个弹窗确定还是取消的选择,分别对应着ture 或者 false,如果选择取消则return false则终止标签的运行,确定则什么都不做就是删除
2.view函数视图层
执行画面