django 中间件原理图和实现方法

流程图:

 在中间件类中可以定义5中方法:
process_request(self, request)
返回值
None:执行下一个中间件的process_request
HttpResponse:直接返回,依次执行当前中间件之前中间件的process_response方法
process_response(self, request, response)
返回值
必须返回一个HttpResonse对象或者streamingHttpResponse对象
process_view(self, request. view_func, view_args, view_kwargs)
返回值
None:执行下一个中间件的process_view方法
HttpResposne
process_template_resposne
返回值
必须返回一个实现了render方法的响应对象
process_exception
返回值
None,触发默认的异常处理机制
HttpResponse对象,接着调用template_respone和resposne
创建中间件类
process_request(self, request)

原文地址:https://www.cnblogs.com/SunshineKimi/p/14547856.html