django 中间件 可以修改django内容的输入或者输出在每次运行的时候调用
1,在应用下创建一个python包(在其他的应用中也可以)
在这里面写自己需要的自定义中间件
2,需要继承的方法是 MiddlewareMinxi
需要导入from django.utils.deprecation import MiddlewareMixin
3,在配置文件中配置这个中间件
MIDDLEWARE = [ (应用名)。(自建的中间件)。(中间件的文件名)。(中间件所在的类) ]
4,在自定义中的文件中导入需要继承的方法 MiddlewareMixin
from django.utils.deprecation import MiddlewareMixin
5,写请求前的内容
需要获取值的时候用
request.META.get('HTTP_TOKEN') # 这样来获取所有值
6,有以下几种请求方式
class Mixin(MiddlewareMixin): # django提供了五个中间件的方法。 def process_request(self, request): ''' 处理请求前:在每个请求上,request对象产生之后,url匹配之前调用,返回None或HttpResponse ''' pass def process_view(self, request, view_func, *view_args, **view_kwargs): ''' 处理视图前:在每个请求上,url匹配之后,视图函数调用之前调用,返回None或HttpResponse对象。 ''' pass def process_response(self, request, response): ''' 处理响应后:视图函数调用之后,所有响应返回浏览器之前被调用,在每个请求上调用,返回HttpResponse对象。 ''' return response def process_exception(self, request,exception): ''' 异常处理:当视图抛出异常时调用,在每个请求上调用。 ''' pass def process_template_response(self, request, response): ''' 函数是在视图函数执行完后立即执行的,返回一个HttpResponse对象。 ''' return response