文章目录
一.MVC/MTV的介绍
1.MVC的介绍
(1)基本概念
MVC是存在于桌面程序中的,M是指业务模型 model,V是指用户界面 view,C则是控制器controler。
其是一种常见的软件架构思想,使用MVC的目的是将M(业务模型)和V(用户界面)的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。
C(控制器)存在的目的则是确保业务模型和用户界面的同步,一旦M(业务模型)发生改变,V(用户界面)也应该同步更新。
(2)核心
1.思想
其主要用来解耦合,将数据展示,业务处理,数据操作进行分离的一种思想
2.组成
Model(业务模型):
封装数据的交互操作
CRUD:增删改查
View(用户界面):
负责数据的显示和呈现
对用户的直接输出
Controller(控制器):
接受用户的输入输出
用来协调Model和View的关系,并对数据进行操作、筛选
3.MVC流程:
Controller接受用户请求
调用Model,获取数据
Controller将数据展示到View中
(3)优劣势
优势:
当数据展示发生改变时,无需修改Model和Controller
当重构代码的时候,可以将代码的变更量调到最小
劣势:
简单的需求可能也需要掌握整个架构体系
(4)使用场景
接受输入,给出响应的场景都是ok的,例如:CS/BS、图形化界面开发等
(5)MVC设计模型
设计模型有很多种,这里介绍两种最经典的设计模型:
模式一:不适合web框架开发
模式二:更适合Django框架的设计模式,这里可以绕过model层的,可用可不用
2.MTV的介绍
(1)基本概念
也被称为MVT,本质上是MVC的变种,也是各组件之间为了保持松耦合关系,只是定义有些许不同
(2)核心
1.思想
其主要用来解耦合,将数据展示,业务处理,数据操作进行分离的一种思想
2.组成
Model(业务模型):
负责业务对象与数据库(ORM)的对象
封装数据的交互操作,CRUD:增删改查
Template(模板):
只是一个html文件,充当的是MVC中的View角色,负责把数据(页面)展示给用户
Views(视图函数):
相当于MVC中的Controller,负责业务逻辑,在适当的时候调用Model和Template
(3)在Django中处理MTV的流程图
如图所示,可以绕过数据的获取也可以不绕过数据的获取
3.MVC和MTV 的区别
(1)在MVC中
Model是数据操作的封装
Views是数据展示
Controller是控制器,用于接收输入,处理业务逻辑
(2)在MTV中
Model:数据操作的封装
Template:模板(HTML),负责把页面展示给用户
View:视图函数,负责业务逻辑
二.Django简介
Django是一个开放源代码,遵循MVC设计模式的Web应用框架,它的主要功能是便捷的开发数据库驱动的网站,同时,它还拥有许多功能强大的第三方插件,甚至可以开发自己的工具包,所以已经成为了大多数web开发人员的首选框架。
官方网站:http://www.djangoproject.com
本次使用的版本是1.11.7,后面会涉及到2.2版本的一些知识点,LTS:长期支持版本
三.虚拟
1.虚拟环境
创建虚拟环境: