Django-请求生命周期

简介: Django-请求生命周期

一 请求的生命周期


Django的请求生命周期是指:当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情。


二 Django的生命周期


第一步:浏览器发起请求


第二步:WSGI创建socket服务端,接收请求(Httprequest)


第三步:中间件处理请求


第四步:url路由,根据当前请求的URL找到视图函数


第五步:view视图,进行业务处理(ORM处理数据,从数据库取到数据返回给view视图;view视图将数据渲染到template模板;将数据返回)


第六步:中间件处理响应


第七步:WSGI返回响应(HttpResponse)


第八步:浏览器渲染


三 生命周期

20200916111936581.png

三 CBV 和 FBV


FBV方式请求的过程:


用户发送url请求,Django会依次遍历路由映射表中的所有记录,一旦路由映射表其中的一条匹配成功了,就执行视图函数中对应的函数名


CBV方式请求的过程:


当服务端使用cbv模式的时候,用户发给服务端的请求包含url和method,这两个信息都是字符串类型;


服务端通过路由映射表匹配成功后会自动去找dispatch方法,然后Django会通过dispatch反射的方式找到类中对应的方法并执行;


类中的方法执行完毕之后,会把客户端想要的数据返回给dispatch方法,由dispatch方法把数据返回经客户端。

相关文章
|
4月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
97 7
|
5月前
|
JSON 前端开发 JavaScript
Django实践-04静态资源和Ajax请求
Django实践-04静态资源和Ajax请求
Django实践-04静态资源和Ajax请求
|
5月前
|
JavaScript Python
django和vue 请求403 FORBIDDEN怎么办
在请求头里,添加X-CSRFToken, 取自浏览器里的cookie 再附上取cookie的源码
38 0
|
6月前
|
数据采集 存储 数据挖掘
Django爬虫:如何处理超过重试次数的请求以保障数据完整性
Django爬虫:如何处理超过重试次数的请求以保障数据完整性
|
8月前
|
安全 中间件 API
详解Django请求与响应:深入理解Web Http交互的核心机制
详解Django请求与响应:深入理解Web Http交互的核心机制
77 0
|
9月前
|
安全 中间件 数据安全/隐私保护
Django中防范CSRF跨站点请求伪造攻击
Django中防范CSRF跨站点请求伪造攻击
|
9月前
|
JSON 前端开发 JavaScript
[Python]Django请求与响应(二)
[Python]Django请求与响应(二)
|
9月前
|
XML JSON 中间件
[Python]Django请求与响应
[Python]Django请求与响应
|
10月前
|
JSON 前端开发 数据格式
【Django学习】(十一)APIView_请求与响应_GenericAPIView
【Django学习】(十一)APIView_请求与响应_GenericAPIView
|
JSON 缓存 中间件
Django 跨域访问POST请求需预先发送option请求问题处理方案
Django 跨域访问POST请求需预先发送option请求问题处理方案
249 0