
文章图片

文章图片

文章图片
1.什么之django中间件?
Django中的中间件是一个轻量级、底层的插件系统 , 可以介入Django的请求和响应处理过程 , 修改Django的输入或输出 。 中间件的设计为开发者提供了一种无侵入式的开发方式 , 增强了Django框架的健壮性 。
我们可以使用中间件 , 在Django处理视图的不同阶段对输入或输出进行干预 。
2.django中间件的作用是什么?
如果想要修改HttpRequest或者HttpResponse , 就可以通过中间件来实现 。
·登陆认证:在中间件中加入登陆认证 , 所有请求就自动拥有登陆认证 , 如果需要放开部分路由 , 只需要特殊处理就可以了 。
·流量统计:可以针对一些渲染页面统计访问流量 。
·恶意请求拦截:统计IP请求次数 , 可以进行频次限制或者封禁IP 。
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对象
【中间件|超详细!django中间件用法以及实例操作】③process_response (self , request , response)
所有响应返回浏览器被调用 , 在每个请求上调用 , 返回HttpResponse对象
4)在setting.py中设置middleware进行注册:
注意事项 , 如果出现以下错误提示 , 将setting.py中的{改为[
即可 。
- 徕卡|超大杯命名揭晓!卢伟冰换上小米12S Ultra
- 显卡|这就是RTX 4090 Ti显卡?又厚又重,超过三槽要1200W电源
- “入圈,出圈”!未来的“超级IP”将会是……
- 格力电器|游戏玩家超爱!雷神27英寸Fast-IPS显示器现在入手
- GeForce|英伟达GeForce RTX 4090系列渲染图曝光:FE版将超过三槽规格
- 无边框|华硕灵耀X 13体验:AMD锐龙6000系列加持 超轻薄的本子也很能打
- 高通骁龙|国产品牌发力!苹果钉子户切身体会,Find X5 Pro功能要超前不少
- Java|干翻小米,红米又出超大杯旗舰,120W+2K直屏+双旗舰芯
- 你购买新手机一般会选择哪种渠道?是线下门店、线上官方旗舰店|小程序上网购手机竟变充电头!50多人受骗 损失超百万
- 近日|小米定制运动水壶发布:1.5L超大容量 两种喝水方式
