Django框架架构总览
理解Django是如何运作的
条目创建于 2013-08-14 1464 views
服务器君一共花费 15.204 ms 进行了 4 次数据库查询,努力地为您提供了这个页面。
- Chapter: Django架构流程分析
Django架构总览
如下图所示django的架构总览图,整体上把握以下django的组成:
![](https://i-blog.csdnimg.cn/blog_migrate/bc17b1a8b4d7a30574936989d93b3280.png)
核心在于middleware(中间件),django所有的请求、返回都由中间件来完成。
中间件,就是处理HTTP的request和response的,类似插件,比如有Request中间件、view中间件、response中间件、exception中间件等,Middleware都需要在 “project/settings.py” 中 MIDDLEWARE_CLASSES 的定义。大致的程序流程图如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/e1865dcf3c839ad12c5496c7f80b2a52.png)
首先,Middleware都需要在 “project/settings.py” 中 MIDDLEWARE_CLASSES 的定义, 一个HTTP请求,将被这里指定的中间件从头到尾处理一遍,暂且称这些需要挨个处理的中间件为处理链,如果链中某个处理器处理后没有返回response,就把请求传递给下一个处理器;如果链中某个处理器返回了response,直接跳出处理链由response中间件处理后返回给客户端,可以称之为短路处理。