Code前端首页关于Code前端联系我们

什么是 Django 中间件?用法及示例操作演练

terry 2年前 (2023-09-24) 阅读数 60 #后端开发

1.什么是 Django 中间件?

Django中的中间件是一个轻量级的、底层的插件系统,可以干预Django的请求和响应处理并修改Django的输入或输出。中间件的设计为开发者提供了非侵入式的开发方式,提高了Django框架的健壮性。

我们可以使用中间件来干预Django处理视图的不同阶段的输入或输出。

2.Django中间件的作用是什么?

如果你想改变HttpRequest或HttpResponse,你可以通过中间件来完成。

·登录认证:中间件添加登录认证,所有请求都会自动进行登录认证。如果需要发布多条路由,只需特殊处理即可。

·流量统计:可以统计多个渲染页面的访问流量。

·恶意请求拦截:统计IP请求数量,可以限制频率或封禁IP。

3。如何配置 django 中间件

1)在当前根目录文件夹下新建一个名为 middleware 的文件夹

什么是django中间件?用法及实例操作演练

2)新建两个 py 文件,即 __init__.py 和 mymiddleware.py 文件

什么是django中间件?用法及实例操作演练

3)设置中间件mymiddleware.py 文件中:

第一步引入中间件方法

什么是django中间件?用法及实例操作演练

第二步定义中间件方法(不写或者不写返回值表示不拦截,否则表示拦截):

①process_request (self, request)
在执行路由之前调用,在每个请求上调用,返回 None 或 HttpResponse 对象


②process_view (self, request, callback, ckwags )
在调用视图之前调用,调用在每个请求上,返回 None 或 HttpResponse 对象

③process_response ( self , request , response )

在每个请求上都会调用返回到浏览器的所有响应。 return

什么是django中间件?用法及实例操作演练

4) 在setting.py中设置中间件进行注册:

什么是django中间件?用法及实例操作演练

注意,如果出现如下错误信息,请将setting.py中的{}改为[]。

什么是django中间件?用法及实例操作演练

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门