Django框架
一、Django简介
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模板T。
- 模型(数据存储层):处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
- 模板(表现层):处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。
- 视图(业务逻辑层):存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。
二、MVC与MTV模型
MVC(Model View Controller):是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
MTV: 有些WEB框架觉得MVC的字面意思很别扭,就给它改了一下。view不再是HTML相关,而是主业务逻辑了,相当于控制器。html被放在Templates中,称作模板,于是MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是一样的,换了个名字和叫法而已,换汤不换药。
2.1 MVC
Web应用分为以下三层:
- 模型(M)
- 视图(V)
- 控制器(C)
三者之间的关系如下:
- 模型负责业务对象与数据库的映射(ORM)
- 视图负责与用户的交互(页面)
- 控制器接受用户的输入调用模型和视图完成用户的请求。
示意图如下:
2.2 MTV
MTV也分为三层:
- 模型(M)
- 模板(T)
- 视图(V)
除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示: