MTV 开发模式
在钻研更多代码之前,让我们先花点时间考虑下 Django 数据驱动 Web 应用的总体设计。
我们在前面章节提到过,Django 的设计鼓励松耦合及对应用程序中不同部分的严格分割。遵循这个理念的话,要想修改应用的某部分而不影响其它部分就比较容易了。在视图函数中,我们已经讨论了通过模板系统把业务逻辑和表现逻辑分隔开的重要性。在数据库层中,我们对数据访问逻辑也应用了同样的理念。
把数据存取逻辑、业务逻辑和表现逻辑组合在一起的概念有时被称为软件架构的Model-View-Controller(MVC)模式。在这个模式中, Model 代表数据存取层,View 代表的是系统中选择显示什么和怎么显示的部分,Controller 指的是系统中根据用户输入并视需要访问模型,以决定使用哪个视图的那部分。
为什么用缩写?
像 MVC 这样的明确定义模式的主要用于改善开发人员之间的沟通。与其告诉同事:“让我们对数据存取进行抽象,用单独一层负责数据显示,然后在中间放置一层来进行控制”,还不如利用通用的词汇告诉他们:“让我们在这里使用 MVC 模式吧”。
Django 紧紧地遵循这种 MVC 模式,可以称得上是一种 MVC 框架。以下是 Django 中 M、V 和 C 各自的含义:
由于 C 由框架自行处理,而 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),Django 也被称为MTV 框架。在 MTV 开发模式中:
如果你熟悉其它的 MVC Web开发框架,比方说 Ruby on Rails,你可能会认为 Django 视图是控制器,而 Django 模板是视图。很不幸,这是对 MVC 不同诠释所引起的错误认识。在 Django 对 MVC 的诠释中,视图用来描述要展现给用户的数据;不是数据看起来怎么样,而是要呈现哪些数据。相比之下,Ruby on Rails 及一些同类框架提倡控制器负责决定向用户展现哪些数据,而视图则仅决定如何展现数据,而不是展现哪些数据。
两种诠释中没有哪个更加正确一些。重要的是要理解底层概念。
http://djangobook.py3k.cn/chapter05/
分享到:
相关推荐
Python开发Django 框架实现功能01. 理解 Django 的 MTV 模式01.mp4
Python开发Django 框架实现功能02. 理解 Django 的 MTV 模式02.mp4
主要介绍了如何使用django的MTV开发模式返回一个网页,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Python开发工程师学会用 Django 框架实现功能ngo 的 MTV 模式02.zip
本系统是以Django作为基础框架,采用MTV模式,数据库使用MongoDB、MySQL和Redis,以从豆瓣平台爬取的电影数据作为基础数据源,主要基于用户的基本信息和使用操作记录等行为信息来开发用户标签,并使用Hadoop、Spark...
该系统将昭苏马产业与信息技术相结合,采用Django网页开发框架、Bootstrap响应式网页开发技术、Python语言和MTV的设计模式实现了商品信息管理功能、竞拍信息管理功能、订单信息功能、用户信息管理功能以及图片管理...
Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。Django 是一个高级的 Python Web 框架,用于快速开发可维护和可扩展的 Web ...Django 框架采用了 MTV 设计模式,在工作机制上自然也有些特别之处,其中
基于Django框架,采用MTV模式,基于用户画像的电影推荐系统的设计与实现.zip
> 本系统是以Django作为基础框架,采用MTV模式,数据库使用MongoDB、MySQL和Redis,以从豆瓣平台爬取的电影数据作为基础数据源,主要基于用户的基本信息和使用操作记录等行为信息来开发用户标签,并使用Hadoop、...
Django是一个用Python语言编写的开源Web应用框架,它遵循MTV设计模式,并内置了许多功能,如认证、URL路由、模板引擎、对象关系映射(ORM)等,使得开发者能够快速开发安全且可维护的网站。Django的源码不仅体现了其...
主要是以Django作为基础框架,采用MTV模式,数据库使用MongoDB、MySQL和Redis,以从豆瓣平台爬取的电影数据作为基础数据源,主要基于用户的基本信息和使用操作记录等行为信息来开发用户….zip ### 1、项目介绍 > 本...
讲解django框架开发的软件模式:MVC MTV 讲解如何下载和安装django,以及创建django框架的项目 讲解路由 讲解views视图层 讲解request请求对象中带有的一些属性和方法 讲解response响应对象 讲解template模板层 ...
Django无疑是最有代表性的重量级选手,开发者可以基于Django快速的开发可靠的Web应用程序,因为它减少了Web开发中不必要的开销,对常用的设计和开发模式进行了封装,并对MVC架构提供了支持(Django中称之为MTV架构)...
一、使用Django的MTV设计模式 Django是一个流行的Web框架,它使用MTV(模型,模板,视图)设计模式来组织应用程序代码和前端设计。模型层用于定义应用程序数据模型和数据库结构,视图层负责处理请求和响应,模板层...
主要是以Django作为基础框架,采用MTV模式,数据库使用MongoDB、MySQL和Redis,以从豆瓣平台爬取的电影数据作为基础数据源,主要基于用户的基本信息和使用操作记录等行为信息来开发用户标签,并使用Hadoop、Spark...
采用了MTV的软件设计模式,即模型M,模版T和视图控制器V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于2005年7 月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手...
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。