中间件是request和response处理过程中的一个插件,浏览器到达视图函数之前,response到达浏览器之前!
自定义中间件
可以创建一个,middlewares.py文件来存放这个APP的中间件,也可以创建一个python包来存放整个项目的中间件
中间件执行是有顺序的,有的中间件需要依赖其他的中间件才能执行!
函数形式
def simple_middleware(get_response):必须传一个get_response
#初始化
def middleware(request):
request到视图之前
responst = get_response(requesst)
response到浏览器之前
return response
retrun middleware
类的形式
class SimpleMiddleware(object):
def __init__(self,get_response):
self.get_response = get_response
初始化中间件
def __call__
request到达视图之前
response = self.get_response
response到达浏览器之前
return response
django.utils.deprecation.MiddlewareMixin,在deprecaton中的都是将被django遗弃的!