Django 中间件的理解与使用

Django 中间件的理解与使用

https://zhuanlan.zhihu.com/p/140053309

Middleware中间件是Django提供的一个处理request和response的hooks(钩子函数)框架

Middleware就相当于装饰器,在执行主程序之前或之后去实现一些其他功能,例如权限认证、Csrf判断等等。

钩子函数作用与所有的view视图中的函数,而装饰器可以只作用于指定的view视图中的某几个函数。

理解下图就差不多了:
在这里插入图片描述

如上图:在view视图接收到HttpRequest发送过来的request请求之前会先经过middleware,而后request经过了view视图中对应的函数处理过后,会返回response,之后又会经过middleware,最终才成为HttpResponse。

每个middleware都实现了一种功能,拿上面AuthenticationMiddleware来说,当request还没到达view视图时会先进入到AuthenticationMiddleware中执行对应的函数,例如权限认证之类的,当权限不够时,则request就进入不到view中,该请求就会被直接返回。同样的假如权限够,view视图接收到request后,返回对应的response,这response也会进入到AuthenticationMiddleware中执行对应的函数(除非没有编写)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值