中间件 middleware
中间件:轻量级的功能插件 作用范围:全局
介于请求和处理之间,可以编写中间件 干预请求和响应
视图之前和之后的5种方法
1,process_request 请求到达,第一个被触发的方法
只能针对request进行处理,还能针对服务进行处理
:param request: 包含请求信息的请求对象
-
:return:
from django.utils deprecation import MiddlewareMixin
def process_request(self,request):
return HttpResponse('我是 第一种方法 process_request')
2,process_view 请求到达经过,第二个被触发的方法
- :param MiddleWare: 要访问的函数视图 要处理的函数视图
:param MiddleWareargs: 元组 传递的参数
:param MiddleWarekwargs: 字典 参数
参数传递:通过正则对路由进行传递
元组:无组名 re_path('/index/('\w+)',view)
字典:有组名 re_path('/index/(?P<name>\w+)',view)
def process_view(self,request,HiddleWareargs,HiddleWarekwargs):
return HttpResponse('我是第二方法 procession_view')
3,process_exception 处理异常
def process_exception(self,request,exception):
return HttpResponse('我是第三方法 process_exception')
4,process_template_response 需要返回render对象,才能够调用到 不常用
def process_template_response(self,request,response):
return HttpResponse('我是第四方法 process_template_response')
5,process_response 返回响应
def process_response(self,request):
return HttpResponse('我是第五方法 process_response')