中间件
一.什么是中间件
中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django
的输入和输出。每个中间件组件都负责做一些特定的功能,中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的
操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在处理请求的特定的时间去执行这些方法。
二.自定义中间件
(一)中间件可以定义五个方法,分别是:(主要的是process_request和process_response)
process_request(self,request)
process_view(self, request, view_func, view_args, view_kwargs)
process_template_response(self,request,response)
process_exception(self, request, exception)
process_response(self, request, response)
以上方法的返回值可以是None或一个HttpResponse对象,如果是None,则继续按照django定义的规则向后继续执行,如果是
HttpResponse对象,则直接将该对象返回给用户。
(二)自定义一个中间件示例
1.导入 from django.utils.deprecation import MiddlewareMixin
2.在settings.py的MIDDLEWARE配置项中注册上述两个自定义中间件:
‘app01.my_middlewares.MD2’,