Django 中间件的理解与使用

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

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

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

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

理解下图就差不多了:
Django 中间件的理解与使用

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

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

相关文章:

  • 2022-12-23
  • 2021-08-15
  • 2021-11-01
  • 2021-03-26
  • 2021-08-15
  • 2021-08-15
  • 2021-05-11
猜你喜欢
  • 2021-08-15
  • 2021-08-15
  • 2021-06-23
  • 2021-07-02
  • 2022-12-23
  • 2021-08-15
  • 2021-10-02
相关资源
相似解决方案