MVC和MTV结构分析
@font-face { font-family: "Times New Roman"; }@font-face { font-family: "宋体"; }@font-face { font-family: "Calibri"; }p.MsoNormal { margin: 0pt 0pt 0.0001pt; text-align: justify; font-family: Calibri; font-size: 10.5pt; }h3 { margin-top: 5pt; margin-bottom: 5pt; text-align: left; font-family: 宋体; font-weight: bold; font-size: 13.5pt; }p.p { margin: 5pt 0pt; text-align: left; font-family: "Times New Roman"; font-size: 12pt; }span.msoIns { text-decoration: underline; color: blue; }span.msoDel { text-decoration: line-through; color: red; }div.Section0 { }
MVC架构是设计人员在大部分框架后者大型程序项目中都很喜欢的软件工程架构模式(我喜欢) ,他把一个完整的程序或者网站项目分成三个主要的组成部分,分别是Model模型,View视图,Controller控制器。希望一个项目可以让内部数据的储存方式,外部的可见部分以及过程控制逻辑相互配合运行,进一步简化项目复杂度,提高可扩充性,维护性,有助于不同成员之间的分工。
MVC架构将软件项目分为Model,View,Controller三部分,这样的分类指的是大部分的传统软件,对于网站而言,网页服务器在接收到远程浏览器的请求的时候,不同的网址做出不同的响应,有不同的链接方式其实就隐含了逻辑控制,因此很难严谨的将其定义为上述三个部分,因此Django另外设计了MTV结构(Model,Template,View)。
上面两个分别是MVC和MTV的图,应该不需要解释。图片诠释的很完美。
Model简介
model是Django表示数据的模式,以Python的类为基础在models.py中设置数据项与数据格式,基本上是一个类对应一个数据库中的数据表。因此定义数据项的时候,除了数据项名称之外,也要定义此项目的格式以及这样表格和其他表格相互之间的关系(即:数据关联)定义完毕之后,网站的其他程序就可以使用Python语句来操作这些数据内容,不用关心使用的SQL指令以及使用的是那一种数据库。
在创建完数据表之后,进入后台是发现不了该表的操作方式的,因为需要在该app的admin.py下注册该数据表。