中间件的生命周期

django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。

在django项目的settings模块中,有一个 MIDDLEWARE_CLASSES 变量,其中每一个元素就是一个中间件,如下图。

与mange.py在同一目录下的文件夹 wupeiqi/middleware下的auth.py文件中的Authentication类

中间件中可以定义5个方法,分别是:

  • process_request(self,request)
  • process_view(self, request, callback, callback_args, callback_kwargs)
  • process_template_response(self,request,response)
  • process_exception(self, request, exception)
  • process_response(self, request, response)

django的自定义中间件提供了5个方法

 

1
2
3
4
5
process_request # 请求来时候  顺序
process_view  # 请求通过中间件 view 之前 顺序
process_template_response  # 模板返回之前的倒叙
process_response # 响应返回  一旦顺序出现return就会跳到最后一个response
process_exp  # 一旦后端应用程序报错 则会出发。倒叙

  


Django的请求周期:中间件的生命周期

原文地址:https://www.cnblogs.com/shiguanggege/p/11852863.html