Django--中间件

Django--中间件,第1张

概述Django中间件   Django默认由七个中间件             WSGI、wsgiref、uwsgi的区别     WSGI是协议     wsgiref和uwsgi是实现该协议的模块   Django默认有七个中间件,但是Django暴露给用户可以自定义中间件,并且里面可以写五种方法 ps:   1、在Django中请求来的时候会依次执行每一个中间件里面的process_reque

Django中间件

  Django默认由七个中间件 

  

 

 

 

  Wsgi、wsgiref、uwsgi的区别

    Wsgi是协议

    wsgiref和uwsgi是实现该协议的模块

 

Django默认有七个中间件,但是Django暴露给用户可以自定义中间件,并且里面可以写五种方法

ps:

  1、在Django中请求来的时候会依次执行每一个中间件里面的process_request方法(如果没有直接通过)

  2、响应走的时候会依次执行每一个中间件里面的process_response方法(如果没有直接通过)

 

 

Django中自定义中间件

  1、在app中新建一个任意名字的文件夹,里面新建一个任意名字的py文件

  2、在文件中创建一个类,然后在类中写process_request方法以及process_response方法(切记不要打错)

  3、然后在setting中的中间件中将这个类添加进去

 

Django中间件中的五个方法:  

process_request(self,request) process_vIEw(self,request,vIEw_func,vIEw_args,vIEw_kwargs) process_template_response(self,response) process_exception(self,exception) process_response(self,response)

以上方法的返回值可以是None或一个httpResponse对象,如果是None,则继续按照Django定义的规则向后继续执行,如果是httpResponse对象,则直接将该对象返回给用户  

 

 

 如果process_request中返回了httpresponse对象,那么会立即返回,不会继续执行其他的中间件

 

 如果process_request方法中返回了httpresponse对象,那么会走同级别的process_response方法,依次往回走

 

 

Django请求生命周期

 

 

Django中间件能够帮我们实现网站全局的身份验证,黑名单,白名单,访问频率的限制,反爬相关的内容       

总结

以上是内存溢出为你收集整理的Django--中间件全部内容,希望文章能够帮你解决Django--中间件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1191210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存