阅读(101) (1)

Django4.0 中间件-中间件的顺序与分层

2022-03-16 09:58:56 更新

在请求阶段,在调用视图之前,Django 按照定义的顺序应用中间件 ​MIDDLEWARE​,自顶向下。

你可以把它想象成一个洋葱:每个中间件类都是一个“层”,它覆盖了洋葱的核心。如果请求通过洋葱的所有层(每一个调用 ​get_response ​)以将请求传递到下一层,一直到内核的视图,那么响应将在返回的过程中通过每个层(以相反的顺序)。

如果其中一层决定停止并返回响应而不调用​get_response​,那么该层(包括视图)中的洋葱层都不会看到请求或响应。响应将只通过请求传入的相同层返回。