两种模式:MTV和MVC"/>
Django框架设计创建 Web 应用程序的两种模式:MTV和MVC
一、MTV框架
MTV(Model Templates Views):
(1)M : model 数据模型,例如 orm中的模型类。
(2)T: templates 模板: 例如 html页面。
(3)V: view 视图: 使用函数 例如: CBV 、FBV。
Model(模型) -- Templates(模版) --Views(视图)
Django是MTV框架。
二、MVC框架:
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
- Model(模型)表示应用程序核心(比如数据库记录列表(orm))。
- View(视图)显示数据(数据库记录)。---->对应MTV中的 T
- Controller(控制器)处理输入(写入数据库记录)。—>对应MTV中的 V
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
- Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
- View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的(前端网页)。
- Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据(映射,模式渲染等)。
三、Django处理顺序
-
wsgi
socket请求处理 -
控制器(django框架本身)
控制用户输入,url匹配,通过映射列表将一个请求发送到一个合适的视图; -
views --Views
python程序,向模型和模板发送(或获取)数据; -
模型绑定 --Model
数据库存取数据 -
模板引擎 --Templates
用于将内容与展现分离,描述了数据如何展现(如网页模板); -
模式渲染 --Views
将模板和数据整合,形成最终网页; -
控制器(django框架本身)
返回用户展示。
四、区别
MVC即模型-视图-控制器模式,就是为那些需要为同样的数据提供多个视图的应用程序而设计的。它很好地实现了数据层与表示层的分离,特别适用于开发与用户图形界面有关的应用程序。控制器用来处理用户命令以及程序事件;模型维护数据并提供数据访问方法;视图用于数据的显示。
MTV即模型-模版-视图模式,其标准名称是有争议的。在MVC的解释中,视图描述了展现给用户的数据,是指所看到的数据,而不是如何看见它。在python中视图是指对某一特定URL的回调函数,因为回调函数描述了所要展现的数据。模版用于将内容与展现分离。在django中,视图描述了要展现的数据,而视图一般转交给模版。模版描述了数据如何展现。控制器则是指django框架本身,通过URL配置,系统将一个请求发送到一个合适的视图。
Django中的MTV 是根据MVC模式演变过来的。
使用MVC 或MTV 模式的好处,解耦合。
如果想要和我交流,就关注我的微信公众号:梓栋Coder(id:cyttlian)
更多推荐
Django框架设计创建 Web 应用程序的两种模式:MTV和MVC
发布评论