使用三个列表保存middleware的方法:
- _view_middleware以正序保存process_view方法
- _template_response_middleware以倒序保存process_template_response方法
- _exception_middleware以倒序保存process_exception方法
middleware对象的调用过程:
def __call__(self, request):
response = None
if hasattr(self, 'process_request'):
response = self.process_request(request)
if not response:
response = self.get_response(request)
if hasattr(self, 'process_response'):

本文详细介绍了Django中间件的加载过程,包括_view_middleware、_template_response_middleware和_exception_middleware三个列表的作用。在请求阶段,中间件按正序执行process_view方法;在响应阶段,按逆序执行process_response。中间件的递归调用使得请求和响应处理有序进行,过滤请求、处理异常和修改响应。
最低0.47元/天 解锁文章
1424

被折叠的 条评论
为什么被折叠?



