Django的框架模式——MTV

摘要:
Django采用MTV的框架模式,即模型、模板和视图,它们负责不同的职责。作为一个Web框架,Django需要一种非常方便的方法来动态生成HTML页面,因此它具有模板的概念。该模板包含部分必需的HTML代码和一些特殊语法。特殊语法用于描述如何将视图传递的数据动态插入HTML页面。Django可以配置一个或多个模板引擎,包括Django模板语言和Jinja2。Django的模板语言是Django内置的功能之一。Jinja2是Python中流行的模板语言。

Django采用了 MTV 的框架模式,即模型(Model)、模板(Template)和视图(Views),三者之间负责不同的职责。

Django的框架模式——MTV第1张

  • 模型:数据存储层,处理与数据相关的所有事务,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。负责业务对象与数据库的对象(orm)。

  • 模板:表现层,处理与表现相关的决定,例如如何在页面或其他类型的文档中进行显示。
    Django作为Web框架,需要一种很便利的方法动态的生成HTML网页,因此有了模板这个概念。模板包含所需HTML的部分代码以及一些特殊的语法,特殊语法用于描述如何将视图传递的数据动态插入HTML网页中。
    Django可以配置一个或多个模板引擎(甚至是0个,如前后端分离,Django只提供API接口,无需使用模板引擎),模板引擎有Django模板语言(DTL)和Jinja2。Django模板语言是Django内置的功能之一,Jinja2是当前Python流行的模板语言。

  • 视图:业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁。主要负责处理用户请求和生成相应的相应内容,然后在页面或其他类型文档中显示。也可以理解为视图是MVC架构里面的C部分(控制器),主要处理功能和业务上的逻辑。我们习惯使用视图函数处理HTTP请求,记载视图里定义def函数,这种方式成为FBV(Function Base Views)。

希望以上内容能给各位带来一些帮助。

免责声明:文章转载自《Django的框架模式——MTV》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C# 连接oracle,用32位client和64位Client,可能导致结果不同git问题ERROR: Repository not found下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

django-admin.py创建项目失败解决方法

环境:Ubuntu、python2.7、django1.9.5 当用django-admin.py startproject projectName创建对应的django项目时出现command not found: django-admin.py情况的解决方案: 找到对应的文件django-admin.py的路径:            如图运行相关命令...

JavaScript开源跨平台框架NativeScript

NativeScript是一款使用JavaScript语言来构建跨平台原生移动应用的开源框架,支持iOS、Android和Windows Phone。且NativeScript的使用没有过多繁杂的要求,只需使用自己已经掌握的JavaScript和CSS技能就能开发出真正具有原生用户体验的移动应用。    作为免费开源项目的NativeScript,它的源...

model操作涉及的所有字段(API)

一旦 数据模型 创建完毕, 自然会有存取数据的需要.本文档介绍了由 models 衍生而来的数据库抽象API,及如何创建,得到及更新对象. 贯穿本参考, 我们都会引用下面的民意测验(Poll)应用程序: class Poll(models.Model): slug = models.SlugField(unique_for_month='pub_d...

SpringBoot 学集 (第三章) 日志框架

写在前面:分享技术,共同进步,有不足请见谅,相关意见可评论告知 ~ 编程路漫漫,学习无止尽! 目录 日志框架 SLF4j使用 统一日志记录 SpringBoot日志关系总结 日志框架的使用; 日志的级别 SpringBoot修改日志的默认配置 日志输出格式: 指定配置 常见错误及其异常①log4j中Logger.getLogger(...

APP的UI自动化测试框架及平台化探索

顾铮,10年+测试及测试开发相关经验,2014年加入京东,曾主导设计开发UI测试框架,参与CI测试平台建设,现负责iOS侧的工具,框架建设。在UI自动化,性能测试,单元测试方面有较深入研究,在App,web端等有较丰富的测试开发和设计经验。 >>>> 写在前面 关于UI测试的文章,多数是通过架构的演进,或是重构,或是推翻重做来讲述的...

让C#程序run anywhere 脱离.net Framework框架环境

为了运行一个100K的C#程序,而安装100M多的.NET 框架。。。。。于是发现偷懒的方法多多,试验总结如下:现成的工具有:(1)Xenocode 的postbuidle或者vas(2)Salamander .NET Linker .(3)MaxToCode 作者以前做的 framework linker. 以及一些支持注册表模拟和文件模拟的打包工具mol...