Django中间件解析
中间件:中间件是Django框架给我们预留的函数接口,让我们可以干预请求和应答的过程。
中间件应用场景:
1 IP限制
2 url访问过滤
3 缓存(请求过来后,中间件看有没有缓存数据,有的话直接返回给用户,没有的话再执行视图函数)
中间件预留函数
1 __init__(self) 服务器响应第一个请求时候调用
2 process_request(self,request): 参生request对象,进行url匹配之前调用
3 process_view(self,request,view_func, *view_args, **view_kwargs): url匹配之后,视图函数调用之前调用
4 process_response(self, request, response): 视图函数调用之后,响应返回之前调用
5 process_exception(self,request,exception) 视图函数出现异常会调用这个函数,代码正确不调用
中间件注册顺序如下表
举例如下