首先说说Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为 模型(M)、控制器(C)和试图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),试图负责与用户的交互(页面),控制器接受用户的输入调用模型和试图完成用户的请求。
Django的MVT模式本质上和MVC是一样的,也是为了各自组建保持一个松耦合关系,只是定义上有些许的不同,Django的MTV分别是:
M 代表模型(model):负责业务对象和数据库的关系映射(ORM)
T 代表模板(Templates) : 负责如何把页面展示给用户(HTML)
V 代表试图(View) :负责业务逻辑,并在适当的时候调用Model和Template
这种设计模式关键的优势在于各种组件都是的松耦合的,这样的话,每个由Django驱动的Web应用都有着明确的目的,并且可以独立更改而不影响到其他的部分
比如,开发者更改一个应用程序中的URL,而不用影响这个程序底层的实现,设计师可以改变HTML页面的样式而不用接触Python代码
数据管理员可以重新命名数据库,并且只需要更改模型,无需从一大堆文件中查找和替换