django之中间件
Posted zhang-yl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django之中间件相关的知识,希望对你有一定的参考价值。
1、什么是中间件
顾名思义中间件就是介于request和response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入和输出。因为改变的是全局,所以需要谨慎使用,用不好反而会影响性能。
如果你想修改请求,例如被传送到view中的HttpRequest对象。 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现。
2、中间件在django整体中的示意图
3、自定义中间件
中间件一共有四个方法
process_request #用户发起请求时会经过
process_view #当到达url关系映射后回调视图函数
process_exception #视图函数出错时
process_response #给用户响应时经过
> 一般只会用到request和response,当只有这两个方法时
执行流程如下
>当有response、response和view时,执行流程如下
>当四个方法都有时执行流程如下
3、应用场景
> 服务器IP访问频率限制
> URL过滤、用户校验
以上是关于django之中间件的主要内容,如果未能解决你的问题,请参考以下文章