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