Django补充
Http请求生命周期
1、发送Http请求
2、服务器接收,根据请求头中的url在路由关系表中进行匹配(从上到下)
3、匹配成功后,执行指定的views函数
- URL->函数 ==>FBV模式
- URL->类 ==>CBV模式
类的写法:urls.py文件中,path('cbv/', views.cbv(类名).as_view()),
在views.py文件中写一个类,引入from django.views import View
类继承 View 。需要写get与post方法,因为View类中有一个dispatch方法
会先执行它,里面用反射根据请求头中的请求方式匹配原始类中的方法,再执行相应方法
这个类中可以写'get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace'方法
4、业务处理
- 根据个人需求自定义
- 操作数据库
- 原生SQL
- Django ORM
==> 返回给用户的结果 <==
- 响应内容
- 响应头
- 响应体
-------------------urls.py----------------- urlpatterns = [ path('admin/', admin.site.urls), path('cbv/', views.cbv.as_view()), ] --------------------views.py--------------- from django.shortcuts import render,redirect,HttpResponse from django.views import View class cbv(View): def get(self,request): return HttpResponse("cbv.get") def post(self,request): ret = HttpResponse("cbv.post") # 响应体就在HttpResponse("cbv.post")里面 ret['h1'] = 'v1' # 往响应头添加东西 ret.set_cookie('c1','v2') # 往响应头添加cookie ''' 响应头: h1=v1 cookies: 响应体: cbv.post ''' return ret
![](https://img2018.cnblogs.com/blog/1479745/201902/1479745-20190213222435259-52055528.png)
完整的创建一个Django项目流程
1、创建项目
2、配置setting.py文件
配置静态文件目录
创建静态文件文件夹
如果需要修改数据库配置,请查看另一篇文章中有介绍 Django初探