Django 请求的生命周期
概念:
从用户输入url到看到网页的整个过程
过程描述:
- 用户输入网址,浏览器发起请求
- WSGI创建socket服务端,接受请求并进行封装,传给web框架
- django中间件处理请求,比如验证csrf,request.session
- 通过中间件之后,进行url匹配,根据响应的视图函数,进行具体的业务逻辑处理
- 处理请求之后获取响应,通过中间件处理
- WSGI返回响应,浏览器渲染页面,展现给用户
Django中间件
process_request 视图函数之前执行,最先执行
process_view process_request 之后执行,但是在视图函数之前执行
process_template_response 视图函数执行完之后立即执行,有特定的触发条件
process_response 视图函数之后,响应返回到客户端之前执行
process_exception 发生异常时执行