29
2020
09

django处理http过程

一个 HTTP 请求,首先被转成一个 HttpRequest对象,然后该对象被传递给Request中间件处理,如果该中间件返回了Response,则直接传递给 Response 中间件做收尾处理。 

否则的话 Request 中间件将访问 URL 配置,确定哪个 view 来处理,在确定了哪个 view 要执行,但是还没有执行该 view 的时候,系统会把 request 传递给view中间件处理器进行处理,如果该中间件返回了Response,那么该 Response 直接被传递给Response中间件进行后续处理, 

否则将执行确定的view函数处理并返回Response, 

在这个过程中如果引发了异常并抛出,会被 Exception 中间件处理器进行处理。

>一个http请求,        
初始化转为HttpRequest对象====》到request中间件处理===》返回response===》response中间件处理        
       |
       |
       访问url配置,确定view来处理request
       |
       |
       view的中间件进行处理===》返回response===》response中间件处理
       |
       |出现异常===》exception中间件进行处理
       |
       view函数处理并返回response



« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。