从今天起,给读者带来Django 源码阅读系列。
源码分析系列阅读清单如下:
Django 整体架构
完整框架应该包含哪些组件
源码结构总体介绍
完成django项目中,创建项目,配置项目,项目组件,启动项目(开发,生产部署)各个环节的原理分析。
Django整体架构
架构图介绍
生产部署环境一般用UWSGI和Gunicorn部署,两者的区别后面系列文章会讲到。
我将django架构分为 网络层,计算层,存储层。
网络层 由wsgi容器解析socket,转化成wsgi协议数据包;
计算层 也就是网上盛传的MVC结构,这同时也是一种设计模式;
存储层 框架对各种数据库服务器的封装;
学习框架的方法:
框架之所以叫框架,开发者可以在框架的约束内迅速完成业务逻辑,框架就如同房子,有地基,有房梁,有门,有窗,建房子的时候将这些基础设施都提前准备好,往里面填充家具即可入住。
我们在学习web框架时,将框架的各个部分都熟悉了,在出现问题时,即可迅速找到问题关键。一般的框架问题都可以分为,网络问题(网络IO模型,超时,协议等等),计算问题(CPU,内存,数据结构,算法等等),存储问题(数据库,索引,结构等)三大类,搞清楚问题的种类,再顺藤摸瓜找到对应的组件,究其源码,很快就可以解决问题。