- 什么是中间件
中间件,其实就是个钩子函数,相当于一个装饰器的作用,而django的中间件,主要是request和view之间,以及,view和response之间所做的处理。
-
怎么去写一个中间件
其中自定义的django中间件里面包含着五个方法,里面包括
2.1 初始化方法__init__
2.2 process_request
2.3 process_view
2.4 process_response
2.5 process_error
![](https://img.haomeiwen.com/i2427213/f3d71267f858f82a.png)
由上图,我们可以看出,一个httprequest请求经过重重的中间件处理,最后生成一个response对象。
ps:中间件是有顺序的
-
怎么去写一个中间件
3.1 声明一个中间件对象,可以是类也可以是函数
中间件类:
class UserMiddleWare(MiddlewareMixin):
def __init__(self, get_response=None):
self.get_response = get_response
print("haha")
def process_request(self, request):
request.tag = "woshuai"
print("老子很帅")
def UserMiddleWare(get_response): #定义一个用户自定义的UserMiddleware中间件,传一个系统函数
#get_response作为参数
def middleware(request):
print("老子很帅")
response = get_response(request)
# response中间件
return response
return middleware
3.2 配置中间件
在django项目的:MIDDLEWARE里面添加声明的中间类或者对象
3.3 运行效果如下:
![](https://img.haomeiwen.com/i2427213/5ebb050188209c62.png)
网友评论