首页 > 编程笔记 > Web笔记 阅读:4

Django MVC和MTV架构模式(新手必看)

当建筑工人盖一座房子时,需要先确定采用哪一种建筑结构,例如,砖混结构、砖木结构、钢筋混凝土结构等。

这里所说的建筑结构,很明显不是已经建造完成的房屋,而是所遵循的一种架构模式。一般来说,Web 应用框架就像盖好的房子一样,有着特定的结构,遵循某种架构模式。

MVC软件架构模式

MVC(Model View Controller)是一种常见的软件架构模式,这种架构模式把软件系统分为三个基本部分,即模型(Model)、视图(View)和控制器(Controller):
它们各司其职,以插件式、松耦合的方式连接在一起。

MVC 模式的请求与响应过程如下图所示:


图 1 MVC 模式的请求与响应过程

当用户通过浏览器向服务器发起请求,控制器在接受请求后,将会调用模型获取数据,并将取得的数据传给视图进行渲染,最终将形成的页面通过控制器发送给浏览器,呈现给用户。

Django 是遵循 MVC 软件架构模式的框架。

Django的MTV模式

在 Django 中,控制器接收用户输入的部分由框架自行处理,也就是说,Django 本身扮演了一部分控制器的角色。

开发者所需要关注的是模型(Model)、模板(Template)和视图(View):
这种设计模式称为 MTV 模式。MTV 模式的请求与响应过程如下图所示:


图 2 MTV 模式的请求与响应过程

当用户通过浏览器向服务器发起请求,Django 的 URL 分发器会将每一个 URL 的页面请求分发给相应的视图函数进行处理。视图函数将会调用模型获取数据,并将数据渲染到模板,最终形成的页面被发送到浏览器,呈现给用户。

提示,URL(Uniform Resoure Locator,统一资源定位符),通俗理解就是网络资源地址,也就是通常所说的网址。

由此可以看出,MTV 模式实际上仍然遵循 MVC 架构模式:

相关文章