1、执行完所有的request方法 到达视图函数。
2、执行中间件的其他方法
3、经过所有response方法 返回客户端。
注意:如果在其中1个中间件里 request方法里 return了值,就会执行当前中间件的response方法,返回给用户 然后 报错。。不会再执行下一个中间件。
来自 <https://www.cnblogs.com/huchong/p/7819296.html>
作用:
1、做IP限制
放在 中间件类的列表中,阻止某些IP访问了;
2、URL访问过滤
如果用户访问的是login视图(放过)
如果访问其他视图(需要检测是不是有session已经有了放行,没有返回login),这样就省得在 多个视图函数上写装饰器了!
3、缓存(还记得CDN吗?)
客户端请求来了,中间件去缓存看看有没有数据,有直接返回给用户,没有再去逻辑层 执行视图函数
来自 <https://www.cnblogs.com/huchong/p/7819296.html>
- .process_request : 请求进来时,权限认证
- .process_view : 路由匹配之后,能够得到视图函数
- .process_exception : 异常时执行
- .process_template_responseprocess : 模板渲染时执行
- .process_response : 请求有响应时执行