Django框架MVT模型工作流程

news2024/12/27 10:22:49

Django

一、Django介绍

Django是一个开源的Web应用框架,由Python写成。采用了MTV的框架模式,它最初是被用来做CMS(内容管理系统)软件。

使用Django,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。

官方中文文档:https://docs.djangoproject.com/zh-hans/3.2/

使用Django的企业:

  • Disqus:Disqus是迄今为止从头开始构建在Django框架上的最大项目。该网站允许在网站上实施评论和选项,它提供了一个易于使用的评论插件、分析受众活动、广告和访问客户参与的工具。该产品在191个国家每月有5亿的独立访问者,每月页面浏览量超过1700万。大约750,000个网站使用Disqus,大约有3500万用户参与这些社区。该网站每月处理超过5000万条评论,Django框架帮助Disqus扩展应用程序以处理数百万用户并提高性能。

  • Youtube:早期优酷这个"视频分享平台"是基于PHP构建的,持续快速的观众增长迫使他们选择了Django框架。它帮助YouTube开发团队能快速而完美的采取行动

  • Mozilla:Mozilla是世界上第二大受欢迎的浏览器,后来为了应付日益增长的用户数量,Mozilla团队必须采用新技术,最终选择了Python+Django。这个选择让平台更有能力每月处理数亿次浏览。

  • 品趣:Pinterest是另一个流行的社交媒体平台,它允许用户找到食谱、家居和风格灵感等想法。Pinterest每月有2.5亿活跃用户,因此该网站必须处理大量用户,为了确保出色的性能,该网站使用了Django。Django在不影响其速度的情况下提供了有效扩展的能力。

  • Instagram:Instagram是增长最快的招聘和视频共享应用程序,在世界上非常流行。Django帮助Instagram扩展应用程序、处理大量数据并管理用户之间每秒更多的交互。

Django学习路线

image.png

Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)

这个MVT模式并非django首创,在其他的语言里面也有类似的设计模式MVC,甚至可以说django里面的MVT事实上是借鉴了MVC模式衍生出来的。

M,Model,模型,是用于完成操作数据库的。

V,View,视图,里面的代码就是用于展示给客户端的页面效果。

C,Controller,控制器,是一个类或者函数,里面的代码就是用于项目功能逻辑的,一般用于调用模型来获取数据,获取到的数据通过调用视图文件返回给客户端。

而MVT指的是:

M 全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。

V 全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。

T 全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

MVT模型的工作流程

image.png

路由控制器将请求转发给对应的视图函数,完成业务逻辑,视图函数将从model中获取的数据嵌入到template的中模板文件(html)渲染成一个页面字符串,返回给客户端的流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/154710.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聚威新材在科创板被暂缓审议:毛利率高于同行,张天荣为董事长

2023年1月10日,上海证券交易所披露的信息显示,上海聚威新材料股份有限公司(下称“聚威新材”)被科创板上市委员会暂缓审议。据贝多财经了解,聚威新材仍有多个问题需进一步落实事项。 上市委要求聚威新材落实&#xff1…

YOLOv5进行水域游泳者检测系统源码+标注好的数据集

YoloV5对水域中游泳者进行检测 一、说明 1.1 项目说明 完整代码下载地址:YOLOv5进行水域游泳者检测系统源码标注好的数据集 本项目是使用 YoloV5 来训练自己的数据集,所以仅仅展示训练自定义数据集的过程。 本次视频检测的结果已经上传至B站&#x…

MATLAB-样条插值运算

MATLAB中不仅提供了一维插值、二维插值和三维插值方法,还提供了样条插值的方法。其主要思想是:假定有一组已知的数据点,希望找到该组数据的拟合多项式。在多项式的拟合过程中,对于每组相邻的样本数据点,存在一条曲线,该…

MCU-51:单片机之AD模数转换与DA数模转换

目录一、AD/DA介绍二、硬件电路模型2.1 模型2.2 硬件电路三、运算放大器3.1 运算放大器介绍3.2 运放电路四、DA原理4.1 T型电阻网络DA转换器:4.2 PWM型DA转换器:五、AD原理六、AD/DA性能指标七、XPT2046介绍7.1 功能说明7.2 XPT2046时序八、代码演示8.1 …

JAVA17连接sqlserver:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

JAVA17连接sqlserver报错 : com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。 Clien…

【Java寒假打卡】Java基础-字节输入流和字节输出流

【Java寒假打卡】Java基础-字节输入流和字节输出流)概述字节输出流快速入门字节输出流的注意事项输出字节流-一次性写多个数据字节输出流的两个问题try-catch-finally捕获异常字节输入流写数据字节流读数据 一次性读取多个数据案例、文件复制使用字节数组进行拷贝文…

基于Springboot+vue+uni-app的校园失物招领平台源码+数据库,含主体PC端、微信小程序和web后台数据管理平台

校园失物招领网站 | lijinghai 项目介绍 📖 👉基于Springbootvueuni-app的校园失物招领平台. 含平台主体PC端、微信小程序和web后台数据管理平台. 完整代码下载地址:基于Springbootvueuni-app的校园失物招领平台源码数据库 失物招领信息一…

枚举算法实例应用(二)

枚举算法实例应用(二) Extended Lights Out Description In an extended version of the game Lights Out, is a puzzle with 5 rows of 6 buttons each (the actual puzzle has 5 rows of 5 buttons each). Each button has a light. When a button …

什么是云原生(非常详细)

云原生计算加速了应用与基础设施资源之间的解耦,通过定义开放标准,向下封装资源,将复杂性下沉到基础设施层;向上支撑应用,让开发者更关注业务价值。此外,云原生计算提供统一的技术栈,动态、混合…

LabVIEW创建Web服务

LabVIEW创建Web服务在LabVIEW项目中开发Web服务,组合并配置构成Web服务的VI和其他文件。按照下列步骤创建一个Web服务项目和两个HTTP方法VI。创建一个组织Web服务文件的LabVIEW项目。将项目保存为Tutorial.lvproj。右键单击我的电脑并选择新建Web服务。LabVIEW在该终…

C语言基本数据类型

一、float、double和 long double 1.1 声明浮点型变量 1.2浮点型常量 1.3 打印浮点值 二、复数和虚数类型 三、其他类型 一、float、double和 long double 对于金融和数学的程序经常使用浮点数,而C语言中的浮点类型有float、double和 long double类型。常见的…

CentOS Stream 9下RabbitMQ安装教程(最新RabbitMQ安装教程)

CentOS Stream 9 RabbitMQ安装教程前言Erlang下载安装RabbitMQ下载安装启动RabbitMQ配置RabbitMQManagement Plugin访问和权限日志文件和管理总结和收获如果博主的文章对您有所帮助,可以评论、点赞、收藏,支持一下博主!!!前言 操作系统:Cent…

RocketMQ消息短暂而又精彩的一生

核心概念 NameServer:可以理解为是一个注册中心,主要是用来保存topic路由信息,管理Broker。在NameServer的集群中,NameServer与NameServer之间是没有任何通信的。Broker:核心的一个角色,主要是用来保存消息…

刚录制德云社相声春晚,又带领徒弟排练京剧,郭德纲成功不是偶然

不知道大家有没有发现一种现象,很多人在底层的时候,都是削尖了脑袋往前钻,可是一旦有一天功成名就,就会刀兵入库马放南山。这种做法通俗地讲,就是功成名就激流勇退,比如马云、刘强东、黄征等互联网企业大佬…

【RabbitMQ】MQ的基本概念、RabbitMQ简介及安装

文章目录MQ的基本概念MQ概述MQ 的优势和劣势常见的MQ产品RabbitMQ简介RabbitMQ的安装1. 安装依赖环境2. 安装Erlang3. 安装RabbitMQ4. 开启管理界面及配置5. 启动6. 配置虚拟主机及用户用户角色Virtual Hosts配置创建Virtual Hosts设置Virtual Hosts权限MQ的基本概念 MQ概述 …

Python3,我把新年祝福写在“雨“中,你看,雨一直下,气氛还算融洽,在同个屋檐下....

新年愿望写在"雨"中1、引言2、代码实战2.1 模块介绍2.1.1 Pygame 介绍2.1.2 Pygame的display介绍2.1.3 Pygame的event介绍2.1.4 Pygame的font介绍2.2 代码示例3、总结1、引言 小屌丝:鱼哥,2023年了, 你有啥愿望啊? 小鱼…

同消费互联网时代的轰轰烈烈相比,产业互联网似乎低调了许多

毫无疑问的是,一场衍生于产业的深度变革正在上演。在这样一场深度变革之中,曾经看似无法改变的存在,有了进化的可能性;曾经让玩家们望而却步的领域,有了进军的可能性。如果对这样一场深度变革进行一次总结的话&#xf…

测试分类那么多,哪些是你最需要掌握的内容?

目录 一、按照测试对象分类 1.1、可靠性测试 1.2、容错性测试 1.3、安装卸载测试 1.4、内存泄漏测试 1.5、弱网测试 二、按照是否查看代码分类 2.1、黑盒测试(系统测试) 2.2、白盒测试(单元测试) 2.3、灰盒测试&#xff0…

[数据结构1-1] 线性表

P3156 【深基15.例1】询问学号 题目描述 有 n ( n≤210^6) 名同学陆陆续续进入教室。我们知道每名同学的学号(在 1 到 10^9之间),按进教室的顺序给出。上课了,老师想知道第 i个进入教室的同学的学号是什么(最先进入…

浅谈IT自动化运维体系

大家好,今天我们来简单介绍一下 IT自动化运维的体系。 随着IT运维体系的不断发展,IT自动化运维已经成为IT运维体系的重要组成部分,并将随着信息化的发展发挥着越来越重要的作用。面对复杂的业务和多样化的用户需求,IT架构体系需要…