Django:MTV和MVC

理解MVC:
在聊mvc之前,去公司找自己的朋友办事,你首先要知道你朋友的公司,然后遇到的是一个前台的妹子,前台的妹子告诉你,你的朋友在开发部,然后你才找到了你的朋友,然后开始处理事情,具体的事情会由你的朋友和你进行处理,处理过程当中你的朋友调用了他们公司的资源。

同样你在请求网站的时候也一样,当我们请求服务器的时候,服务器将请求传递给具体处理请求的功能,在web开发中我们称之为controller控制(对应上面的妹子)。当具体功能处理的时候,需要使用数据了,那么与数据相关的内容我们称之为model模型(对应上面的公司资源)。最后将数据填充到页面上返回给浏览器呈现出来。我们称之为view视图

理解MTV:
Django框架按照MVC模式可以划分为上图形式。
但是Django框架借鉴了MVC设计思想,也将整个框架分成了三部分
Model(模型)、Template(模板)和View(视图),也就是MTV设计思想。

Django:MTV和MVC
MTV和MVC含义
MTV:
M: model(数据模型泛指数据)
T: template(模板 例如 html页面)
V: view视图(视图函数、类)。

MVC:
M:model 数据模型 对应MTV 中的M
V: View jsp,html页面. 对应MTV中的 T
C: controller 控制器,对应视图系统和路由系统。 对应MTV中的 V

MVC或者MTV 本质上没有区别,只是划分方式不同。
Web框架使用MVC、MTV 模式的好处将业务逻辑、数据模型、用户界面都分离出来。实现了 解耦合 。

总结:
一:MTV 和 MVC 模式
1.MTV :
(1)M : model 数据模型,例如 orm中的模型类。
(2)T: templates 模板: 例如 html页面。
(3)V: view 视图: 使用函数 例如: CBV 、FBV。
2.MVC :
(1)M: model 数据模型,例如 orm中的模型类。
(2)V: view 视图: 对应MTV中的 T
(3)C:controller 控制器:对应 MTV 中的 V。
3.Django中的MTV 是根据MVC模式演变过来的。
4.使用MVC 或MTV 模式的好处,解耦合。