文章图片
文章图片
文章图片
1.什么之django中间件?
Django中的中间件是一个轻量级、底层的插件系统 , 可以介入Django的请求和响应处理过程 , 修改Django的输入或输出 。 中间件的设计为开发者提供了一种无侵入式的开发方式 , 增强了Django框架的健壮性 。
我们可以使用中间件 , 在Django处理视图的不同阶段对输入或输出进行干预 。
2.django中间件的作用是什么?
如果想要修改HttpRequest或者HttpResponse , 就可以通过中间件来实现 。
·登陆认证:在中间件中加入登陆认证 , 所有请求就自动拥有登陆认证 , 如果需要放开部分路由 , 只需要特殊处理就可以了 。
·流量统计:可以针对一些渲染页面统计访问流量 。
·恶意请求拦截:统计IP请求次数 , 可以进行频次限制或者封禁IP 。
【中间件|超详细!django中间件用法以及实例操作】3.django中间件怎么设置
1)在当前根目录文件夹下新建一个文件夹名为middleware
2)新建两个py文件分别是__init__.py和mymiddleware.py文件
3)在mymiddleware.py文件中设置中间件:
第一步 , 引入中间件的方法
第二步 , 定义中间件方法(其中None或者没有写return返回值代表不拦截 , 否则代表拦截):
①process_request (self , request)
执行路由之前被调用 , 在每个请求上调用 ,返回None或HttpResponse对象
②process_view (self , request , callback , callback_args ,
callback_kwargs)
调用视图之前被调用 , 在每个请求上调用 ,返回None或HttpResponse对象
③process_response (self , request , response)
所有响应返回浏览器被调用 , 在每个请求上调用 , 返回HttpResponse对象
4)在setting.py中设置middleware进行注册:
注意事项 , 如果出现以下错误提示 , 将setting.py中的{改为[
即可 。
相关经验推荐
- playstation5|PS5固态省钱甄选,性能超原装固态,KP260 PRO表现如何?
- vivo NEX|春节过后要来的8款新机,有的已经正式入网,有的参数也已详细!
- 努比亚|小米雷军超大杯2022款成为米粉最新抢购目标,二手平台叫价千元!
- 小米科技|小米12系列可能没有超大杯,网友:小米12 Ultra改名MIX 5?
- Win10|麒麟9000超过骁龙8Gen1,mate40 Pro又有货了,年末华为再发力
- 键盘|单价超3亿美元!Intel拿下首批二代High-NA光刻机,2nm将抢先量产
- 格力电器|新“空调之王”诞生!市值超5000亿,当了25年冠军的格力败了
- 荣耀|京东超级体东南首店要来南昌了!就在这里!
- 努比亚|骁龙8gen1+5000毫安,超高配置新机曝光,会是新一代机皇吗?
- 芯片|AI芯天下丨日经:三星2021年半导体超越英特尔 成最大芯片销售商