中间件流水线
Django根据注入时间点的不同,将中间件分成几类:
- 请求中间件 - Django为请求匹配路由之前执行请求中间件的process_request方法
- 视图中间件 -Django调用视图函数之前执行视图中间件的process_view方法
- 异常中间件 - 如果Django调用视图函数的过程中发生了异常,将调用异常 中间件的process_exception方法
- 模板响应中间件 - 如果之前环节返回的是一个模板响应对象,Django将在
实际渲染该模板之前,执行模板响应中间件的process_template_response方法。
模板响应对象(TemplateResponse) 是一种延迟渲染的HttpResponse对象,我们 先选择性忽略,将在模板课程时详细介绍。 - 响应中间件 - Django在向WSGI服务器返回响应之前,调用响应中间件的 process_response方法
不过这种分类只是一种概念上的分类。事实上,一个中间件可以同时实现 上述几种中间件所约定的接口,也就同时属于这几种中间件了。
运行示例代码,查看各接口方法的执行顺序。