是一个轻量级、底层的插件系统,能够介入Django的请求和响应处理过程,修改Django的输入或输出编程
激活:添加到Django配置文件中的MIDD浏览器
LEWARE_CLASSES元组中 每一个中间件组件是一个独立的Python类,能够定义下面方法中的一个或多个服务器
_init _:无需任何参数,服务器响应第一个请求的时候调用一次,用于肯定是否启用当前中间件闭包
process_request(request):执行视图以前被调用,在每一个请求上调用,返回None或HttpResponse对象框架
process_view(request, view_func, view_args, view_kwargs):调用视图以前被调用,在每一个请求上调用,返回None或HttpResponse对象函数
process_template_response(request, response):在视图恰好执行完毕以后被调用,在每一个请求上调用,返回实现了render方法的响应对象spa
process_response(request, response):全部响应返回浏览器以前被调用,在每一个请求上调用,返回HttpResponse对象插件
process_exception(request,response,exception):当视图抛出异常时调用,在每一个请求上调用,返回一个HttpResponse对象使用中间件,能够干扰整个处理过程,每次请求中都会执行中间件的这个方法中间件