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

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中的{}改为[]即可。

THE END