Django请求的生命周期
1. 什么是请求的生命周期
当用户在浏览器上输入URL敲击回车访问,我们视为一次请求,生命周期就是Django服务器接收到这个请求后,在后台处理并返回响应的整个过程。
简单来说就是用户从输入URL到浏览器显示网页的这个时间段内,Django后台做了哪些事情。
2. Django的请求生命周期过程
2.1 过程图示
2.2 过程描述
用户浏览器输入网址,发起请求。
WSGI(Web Server Gateway Interface)创建socket服务端,接收请求(HttpRequest)。
中间件(MiddleWare)按顺序依次处理请求(process_request)。
路由系统(urls.py)根据请求头(request_header)中的path进行匹配,根据url找到对应的视图函数
视图函数(views.py)接收request对象并进行业务处理:
ORM(Object Relational Mapping,对象关系映射)负责处理数据持久化,从数据库中读取数据返回给视图,或将用户传入数据写入数据库。
视图函数将数据渲染到Templates模板,返回响应数据
中间件按逆序依次处理响应(process_response)
WSGI返回响应(HttpResponse)
用户浏览器接收响应并渲染出页面