1.综述
django的请求、返回的处理都通过中间件完成。

2.具体过程
Request中间件:
process_request(self, request),Request预处理函数
接受HttpRequest对象,返回None或者HttpResponse
View中间件:
process_view(self, request, callback, callback_args, callback_kwargs)
此为View预处理函数,调用时机:Django执行完request预处理函数并. 确定待执行的view之后,但在view函数实际执行之前。
参数:callback即为view函数地址,后两者为view的参数
返回None或者HttpResponse
Response中间件:
process_response(self, request, response)
调用时机在Django执行view函数并生成response之后。
参数:request为HttpRequest对象,response为view返回的HttpResponse对象
返回HttpResponse 对象
Exception中间件:
Exception后处理函数: process_exception(self, request, exception)
接收HttpResponse对象和view函数产生的exception
3.django 中间件