为什么学习 Django 框架
Djiango 是 Python生态中最流行的 Web 应用全栈开发框架,其采用 MVT 架构,提供了ORM数据访问功能,强大的Admin管理后台,完善的用户与权限管理系统等功能,非常适合中型、小型Web应用类项目的开发。
一张图讲清楚 Django 的基本流程
Django官方文档相当冗长,很多章节没有翻译成中文 ,初学者很难对django 的基本流程的全貌有1个清晰的认识。现在笔者尝试用一张图来说明 Django 处理 http Request请求消息的流程,这也是Django 框架的基础结构,理解了这个流程,对于理解 django 非常有帮助。

流程说明
- 用户浏览器发起http请求
- 请求首先到达 Request Middleware 中间件,它能在views 收到请求前对Request消息内容进行处理,发送响应。
- urls.py 中的 URLConf 对收到请求的url进行匹配,找到相应的视图处理函数或视图类
- 在View收到请求之前,View Middlewares 被调用, 可以进行一些预处理。
- 视图函数或视图类被调用
- 视图函数可能访问模型数据,也可能调用 form 生成表单对象。
- 所有 model-to-DB 的交互都通过 manager 对象来完成
- Views 可通以通过context 对象来添加更多传给模板的内容,
- Views 将 context 上下文数据传给模板进行渲染
- 模板层使用 Filter与 Tags 渲染输出
- 模板层将渲染结果 传回给 视图层
- 视图层发送HTTPResponse 给Response Middlerwares 中间件
- Response middlewares中间件可以向 Response 消息添加额外内容,或者用1个新消息替代
- wsgi 网关发送 response 给用户浏览器
关于 http 消息的理解,请参考文章 使用 python requests 模块发送 http 请求及接收响应
希望这张图,能对django初学者有所帮助,也希望有经验的开发者对不正确的地方提出意见。
版权声明:本文为captain5339原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。