目录

  • 什么是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设计模式解释的清清楚楚了!相关推荐

  1. Django介绍,mvc设计模式及mvt设计模式介绍及对比

    1. 简介 Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计.劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在 ...

  2. spring怎么解耦_终于有人把Spring和SpringMvc讲透了!

    Spring框架的介绍 Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅仅限于服务器端的开发. ...

  3. 什么是架构?网络架构中都有什么?终于有人讲明白了

    导读:理解架构这个词的意思是十分重要的.它可能被过度使用,并且使用在各种环境中.如果缺少一致的理解,将会有交流失败的风险.那么架构这个词到底是什么意思呢? 作者:大卫·D.克拉克(David D. C ...

  4. Django的MVT模式

    MVT模式 有一种程序设计模式叫MVC,其核心思想是分工.解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容. MVC的全拼为Model-View-Controller,最早 ...

  5. Python+Django 实现MVT页面

    目录 前言: 一.介绍Django和MVT模式 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架. 使用 Django,只要很少的代码,Python 的程序开发人员就可以 ...

  6. 架构是什么?网络架构有什么?终于有人说清楚了

    要如何理解架构这个词的?在某些时候它可能被过度使用,并且使用在各种环境中,如果缺少一致的理解,将会有交流失败的风险.那么架构这个词到底是什么意思呢? 01 什么是架构? 架构是一个过程.一个结果和一门 ...

  7. 不服不行!终于有人把AMS和WMS讲明白了!

    现在的移动开发人才市场上,初中级开发者几乎都是人满为患,互联网公司对移动开发人员的招聘要求也越来越高,尤其是那些大厂,非常看重开发者对底层的掌握. 大家可以先来看一组大厂的面试题: AMS是如何启动的 ...

  8. 这么多年,终于有人讲清楚Transformer了

    作者 | Jay Alammar 译者 | 香槟超新星,责编 | 夕颜 来源 | CSDN(ID:CSDNnews) 注意力机制是一种在现代深度学习模型中无处不在的方法,它有助于提高神经机器翻译应用程 ...

  9. AI时代的GitHub,这个陆奇看好的方向,终于有人做了

    允中 发自 凹非寺  量子位 报道 | 公众号 QbitAI 面向AI时代生存发展,什么最重要? 数据.数据,还是数据. 特别是中小企业.转型中的广大传统企业,数据.优质数据,寻找并管理数据,更是刚需 ...

最新文章

  1. 火狐浏览器信息提取工具Dumpzilla
  2. LeetCode刷题之旅
  3. 8086汇编复习1 - 并使用emu8086模拟器查看效果
  4. ERROR OGG-01163 Bad column length (30) specified for column name in table TEST.demo_src, maximum all
  5. GIS实战应用案例100篇(二)-元胞自动机模拟城市扩张过程
  6. OSPF的虚链路配置
  7. java 复制字段_java - 在构造函数中按字段复制字段 - 我需要一个更简洁的形式 - SO中文参考 - www.soinside.com...
  8. 解决chrome浏览器崩溃,再次安装不上问题
  9. bzoj 4025: 二分图(可撤销并查集+CDQ分治)
  10. 批量tracert脚本
  11. web端实现视频播放,视频地址切换,清晰度切换,断点续播
  12. jzoj5442. 【NOIP2017提高A组冲刺11.1】荒诞
  13. android 打开摄像头
  14. 宝宝巴士:一家披着教育公司外皮的广告商?
  15. 前端性能优化之雅虎军规
  16. 石油大学远程北京c语言在线作业,中石油北京2020秋《C语言程序设计》第三次在线作业百分...
  17. 给网赚从业者的几点建议
  18. matlab如何打开dcm_MATLAB结合Unreal Engine构建用以自动驾驶仿真测试的逼真驾驶场景...
  19. 最新朋友圈社区系统源码+UI很不错的
  20. 浏览器无法拖入文件解决办法,无法拖拽文件到浏览器的解决办法,Windows

热门文章

  1. 第十六届计算机表演赛,第十六届全国中小学学生计算机表演赛邢台赛区评选结果...
  2. 【走在生信的路上-1】cbioportal私有化部署教程
  3. 多变量微积分笔记15——梯度场和势函数
  4. 求100以内的全部素数
  5. 织梦标签语法大全(推荐收藏)
  6. 正则表达式应用—判断是否有全角符号/判断是否输入半角中文、英数字以外的值
  7. springcloud之eureka集群
  8. VUE---学习进阶08
  9. vue +vant 车牌号输入
  10. 1.statsmodels----OLS回归