膜拜!终于有人把Django的MVT设计模式解释的清清楚楚了!
目录
- 什么是MVT
- MVT架构的工作流程
- URL模式
- Views
- Models
- Templates
- 结论
了解Django应用程序的Model-View-Template体系结构
Django是用于开发Web应用程序的流行Python Web框架。它遵循Model-View-Template(MVT)设计模式。因此,在开始使用Django开发Web应用程序之前,必须了解Django应用程序的MVT设计架构的基础。在本文中,我将讨论Django中MVT设计模式的基本知识。
什么是MVT
MVT代表模型视图模板。有时也称为MTV(Model-Template-View)。MVT是Django用来开发Web应用程序的一种设计模式或设计体系结构。它与通常已知的MVC(模型-视图-控制器)设计模式略有不同。MVT确定Django应用程序的总体结构和工作流程。在MVT架构中:
- 该模型管理数据并由数据库表示。模型基本上是数据库表。
- 所述查看接收HTTP请求,并发送HTTP响应。视图与模型和模板交互以完成响应。
- 所述模板是基本上前端层和Django应用程序的动态HTML组件。
MVT架构的工作流程
让我们从一个图开始:
如果我们分解一个Django项目,我们将看到它的主要组成部分是:
- Url-datterns
- Views
- Models
- Templates
URL模式
URL模式包含用户将请求的URL。假设我们有一个域名为的博客www.xiaohei.com。博客的URL模式可能是www.xiaohei.com/posts或www.xiaohei.com/posts/post-1或www.xiaohei.com/about等。URL模式只是Web应用程序不同页面的请求。
用户将通过浏览器向服务器发送请求。收到请求后,Django搜索此特定请求是否有相应的响应。这就是MVT开始起作用的地方。
Views
视图是请求的相应响应。假设一个用户发送了一个请求www.ablog.com/posts/post-1。Django将搜索该请求是否有视图。如果没有该请求的视图,则没有响应。根据我们如何编写视图,视图可以是python函数或python类。视图从模型中获取数据或渲染模板。因此,主要是视图与模型和模板进行对话以发送对请求的响应。View基本上是模型和模板的连接点。它还执行响应的逻辑。我们将视图写入名为的python文件中views.py。
Models
Models我说过,视图从模型中获取数据。那么,什么是模型?模型不过是数据库表而已。这是一个链接到数据库的python类。当我们使用某些数据创建模型时,我们实际上是在对Django说要为这些数据创建数据库表。因此,模型包含针对特定请求的必要数据。视图从其对应的模型中获取必要的数据。对于请求,www.ablog.com/posts/post-1我们将编写一个模型,该模型将具有必要的数据,例如帖子的作者,创建日期,标题,小标题,主要内容等。我们在名为的python文件中编写模型models.py。
Templates
我还说过,视图为特定请求提供了模板。模板不过是Django应用程序的前端组件。它包含网页的静态HTML输出以及动态信息。为了动态生成HTML,Django将DTL(Django模板语言)与静态HTML结合使用。使用DTL,Django能够动态显示模型中的数据。对于请求,www.ablog.com/posts/post-1我们可能有一个名为的模板post_1.html,其中包含博客文章的内容。View将呈现post_1.html和,并在模板内部动态显示来自模型的数据。在Django应用程序中,我们将所有HTML模板放在名为的目录中templates。
结论
用户搜索UTL模式,这只是对某个网页的请求。将请求发送到服务器后,Django将搜索该请求的相应视图。View将与模型和模板对话以为请求创建完整的响应。因此,主要是MVT结构共同为相应的请求创建响应
膜拜!终于有人把Django的MVT设计模式解释的清清楚楚了!相关推荐
- Django介绍,mvc设计模式及mvt设计模式介绍及对比
1. 简介 Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计.劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在 ...
- spring怎么解耦_终于有人把Spring和SpringMvc讲透了!
Spring框架的介绍 Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅仅限于服务器端的开发. ...
- 什么是架构?网络架构中都有什么?终于有人讲明白了
导读:理解架构这个词的意思是十分重要的.它可能被过度使用,并且使用在各种环境中.如果缺少一致的理解,将会有交流失败的风险.那么架构这个词到底是什么意思呢? 作者:大卫·D.克拉克(David D. C ...
- Django的MVT模式
MVT模式 有一种程序设计模式叫MVC,其核心思想是分工.解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容. MVC的全拼为Model-View-Controller,最早 ...
- Python+Django 实现MVT页面
目录 前言: 一.介绍Django和MVT模式 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架. 使用 Django,只要很少的代码,Python 的程序开发人员就可以 ...
- 架构是什么?网络架构有什么?终于有人说清楚了
要如何理解架构这个词的?在某些时候它可能被过度使用,并且使用在各种环境中,如果缺少一致的理解,将会有交流失败的风险.那么架构这个词到底是什么意思呢? 01 什么是架构? 架构是一个过程.一个结果和一门 ...
- 不服不行!终于有人把AMS和WMS讲明白了!
现在的移动开发人才市场上,初中级开发者几乎都是人满为患,互联网公司对移动开发人员的招聘要求也越来越高,尤其是那些大厂,非常看重开发者对底层的掌握. 大家可以先来看一组大厂的面试题: AMS是如何启动的 ...
- 这么多年,终于有人讲清楚Transformer了
作者 | Jay Alammar 译者 | 香槟超新星,责编 | 夕颜 来源 | CSDN(ID:CSDNnews) 注意力机制是一种在现代深度学习模型中无处不在的方法,它有助于提高神经机器翻译应用程 ...
- AI时代的GitHub,这个陆奇看好的方向,终于有人做了
允中 发自 凹非寺 量子位 报道 | 公众号 QbitAI 面向AI时代生存发展,什么最重要? 数据.数据,还是数据. 特别是中小企业.转型中的广大传统企业,数据.优质数据,寻找并管理数据,更是刚需 ...
最新文章
- 火狐浏览器信息提取工具Dumpzilla
- LeetCode刷题之旅
- 8086汇编复习1 - 并使用emu8086模拟器查看效果
- ERROR OGG-01163 Bad column length (30) specified for column name in table TEST.demo_src, maximum all
- GIS实战应用案例100篇(二)-元胞自动机模拟城市扩张过程
- OSPF的虚链路配置
- java 复制字段_java - 在构造函数中按字段复制字段 - 我需要一个更简洁的形式 - SO中文参考 - www.soinside.com...
- 解决chrome浏览器崩溃,再次安装不上问题
- bzoj 4025: 二分图(可撤销并查集+CDQ分治)
- 批量tracert脚本
- web端实现视频播放,视频地址切换,清晰度切换,断点续播
- jzoj5442. 【NOIP2017提高A组冲刺11.1】荒诞
- android 打开摄像头
- 宝宝巴士:一家披着教育公司外皮的广告商?
- 前端性能优化之雅虎军规
- 石油大学远程北京c语言在线作业,中石油北京2020秋《C语言程序设计》第三次在线作业百分...
- 给网赚从业者的几点建议
- matlab如何打开dcm_MATLAB结合Unreal Engine构建用以自动驾驶仿真测试的逼真驾驶场景...
- 最新朋友圈社区系统源码+UI很不错的
- 浏览器无法拖入文件解决办法,无法拖拽文件到浏览器的解决办法,Windows