先简单的介绍一下django的工作原理介绍流程:

1. 用户通过浏览器请求一个页面的url

2. 请求到达Request Middlewares(中间件),中间件对request做一些预处理或者直接response请求

3. URLConf通过urls.py文件和请求的URL找到相应的View(视图)

4. View Middlewares被访问,它同样可以对request做一些处理或者直接返回response

5. 调用View中的函数

6. View中的方法可以选择性的通过Models访问底层的数据

7. 所有的Model-to-DB的交互都是通过manager完成的

8. 如果需要,Views可以使用一个特殊的Context(上下文处理器)

9. Context被传给Template(存放前段文件)用来生成页面

    a. Template使用Filters和Tags去渲染输出

    b. 输出被返回到View

    c. HTTPResponse被发送到Response Middlewares

    d. 任何Response Middlewares都可以丰富response或者返回一个完全不同的response

    e. Response返回到浏览器,呈现给用户