文章图片
文章图片
文章图片
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对象
③process_response (self , request , response)
所有响应返回浏览器被调用 , 在每个请求上调用 , 返回HttpResponse对象
4)在setting.py中设置middleware进行注册:
注意事项 , 如果出现以下错误提示 , 将setting.py中的{改为[
即可 。
【中间件|超详细!django中间件用法以及实例操作】
- 显卡|三星GalaxyS22与GalaxyS21详细对比:有何区别?
- 元宇宙|从「超级QQ秀」联想到「元宇宙」
- 摩托罗拉|摩托罗拉很激进:超视觉一体屏+5700mAh电池,符合真香定律
- MIUI|超多阉割!升级MIUI 13后,这些功能彻底没了
- 软件|超级好用的办公软件,程序员新手快来收藏
- 字节跳动|OPPO亮利刃:7.02英寸超级屏+6050mAh,看完后很满意
- 数据库|宽带自组网-300km超远距离无线通信
- 卡尔蔡司镜头|vivoX70Pro+让情人节更精彩!超强影像实力记录时刻浪漫
- pdf|星空和夜景你选择的,超广角镜头的最大光圈,其实更重要
- 高通骁龙|骁龙8旗舰使用报告搜集:可信度超高,每一条都是真实用户心声