码迷,mamicode.com
首页 > 其他好文 > 详细

django之中间件

时间:2019-01-10 21:46:53      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:场景   服务   服务器   .com   分享   nbsp   中间件   技术分享   inf   

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之中间件

标签:场景   服务   服务器   .com   分享   nbsp   中间件   技术分享   inf   

原文地址:https://www.cnblogs.com/zhang-yl/p/10252371.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!