Django-MVT之M层总结

Django寄出和MVT架构 Django学习思维导图,方便总结,详细解释Django项目实现流程以及MVT架构 立即下载

一、模型类设计

在应用models.py中设计模型类。
必须继承与models.Model类。

1)设计BookInfo类。
创建图书类 一类

class BookInfo(models.Model):

# btitle:图书名称   models.CharField:字符串类型  max_length:最大长度
btitle = models.CharField(max_length=20)

# bpub_data:图书出版时间,需要用到日期类型   
bpub_data = models.DateField()

2)设计HeroInfo类。
创建英雄人物类 多类

class HeroInfo(models.Model):

# hname:英雄名
hname = models.CharField(max_length=20)

# hgender:英雄性别  models.BoolenaField:布尔类型      default=False:默认值为False
hgender = models.BooleanField(default=False)

# hcomment:备注技能
hcomment = models.CharField(max_length=120)

# hbook:关系属性   建立BookInfo与HeroInfo之间的一对多关系
hbook = models.ForeignKey("BookInfo")

Models.ForeignKey可以建立两个模型类之间一对多的关系,django在生成表的时候,就会在多端的表中创建一列作为外键,建立两个表之间一对多的关系。

模型类生成表
3)生成迁移文件
命令:python manage.py makemigrations
迁移文件是根据模型类生成的。
在这里插入图片描述
4)执行迁移生成表

命令:python manage.py migrate
根据迁移文件生成表。
生成表名的默认格式:
应用名_模型类名小写
sudo apt-get install sqliteman 安装sqlite
在这里插入图片描述

二、通过模型类操作数据表

进入项目shell的命令:
python manage.py shell
以下为在相互shell终端中演示的例子:
首先导入模型类:
from booktest.models import BookInfo,HeroInfo

1、向booktest_bookinfo表中插入一条数据。

>>> from booktest.models import BookInfo
>>> b=BookInfo()
>>> b.btitle = '三国演义'
>>> from datetime import date
>>> b.bpub_date = date(1990,10,10)
>>> b.save()
  1. 查询出booktest_bookinfo表中id为1的数据。
>>> b2 = BookInfo.objects.get(id=1)
  1. 在上一步的基础上改变b对应图书的出版日期。
 >>> b2.bpub_date = date(1989,10,21)
 >>> b2.save()
  1. 紧接上一步,删除b对应的图书的数据。
 >>> b2.delete()
  1. 向booktest_heroInfo表中插入一条数据。
>>> from booktest.models import BookInfo,HeroInfo
>>> b=BookInfo()
>>> b.btitle='天龙八部'
>>> from datetime import date
>>> b.bpub_date=date(1990,10,10)
>>> b.save()

>>> h=HeroInfo()
>>> h.hname="段誉"
>>> h.hgender=False
>>> h.hcomment='降龙十八掌'
>>> h.hbook=b
>>> h.save()
>>> h2=HeroInfo()
>>> h2.hname="乔峰"
>>> h2.hcomment="六脉神剑"
>>> h2.hbook=b
>>> h2.save()

  1. 查询图书表里面的所有内容。
>>>BookInfo.objects.all()

三、关联操作

在这里插入图片描述
1) 查询出id为2的图书中所有英雄人物的信息。

>>> b=BookInfo.objects.get(id=2)
>>> b.heroinfo_set.all()

四、后台管理

1)本地化
语言和时区的本地化。
修改settings.py文件。
在这里插入图片描述
2)创建管理员
命令:python manage.py createsuperuser
在这里插入图片描述
3)注册模型类
在应用下的admin.py中注册模型类。
告诉djang框架根据注册的模型类来生成对应表的管理页面。
在这里插入图片描述
b = BookInfo()
str(b) --------->bookinfo.object
str -------->return self.btitle
4)自定义管理页面
自定义模型管理类。模型管理类就是告诉django在生成的管理页面上显示哪些内容。
在这里插入图片描述

保姆级教程:用ROS2 Humble和激光雷达,5分钟搞定机器人避障(附Python代码) 本文提供了一份详细的ROS2 Humble激光雷达避障实战指南,帮助开发者快速实现机器人避障功能。通过环境配置、硬件连接和Python代码实现,5分钟内即可让机器人自主避开障碍物。文章还涵盖了参数调优、常见问题排查及进阶优化技巧,适合机器人开发初学者和进阶用户。 阅读详情

相关推荐

数据基础设施建设任务中的技术名词解析

近日,国家数据局确定了18个数据基础设施建设任务(先行先试)承担地区,建设任务内容为:数场、数据空间、数据原件、隐私计算、数联网、区块链。这些概念都有什么样的内涵,他们的相互关系是怎样的?

五角大寨 5306

1、Django开发总结:Django MVT与MVC设计模式,请求过程与代码示例(附源码)

如果要开发一个好的网站或网络应用,就必需了解经典的软件开发所遵循的MVC 设计模式。本篇详细总结软件开发所遵循的MVC (Model-View-Controller, 模型-视图-控制器) 设计模式以及Django的MVT设计模式(Model-View-Template)如何遵循这种设计理念。Django Model(模型), URL(链接), View(视图) 和Template(模板)又是如何遵循MVC软件设计模式的。

SteveRocket's-Blog 2981

UEFI开发探索102 – ACPI探究01(UEFI配置表)

(请保留-> 作者: 罗冰 https://blog.youkuaiyun.com/luobing4365) ACPI探究01(UEFI配置表)1 大致规划2 UEFI Configuration Table(配置表)3 代码实现 最近有项工作,是修改ACPI表。问题本身并不复杂,但是由于代码需要移植到Option ROM上,遇到不少奇怪的现象。因此,花了不少时间,对ACPI进行研究。 任务是完成了,我的好奇心又被勾起来了。准备发挥“格物致知”的信念,把我认为的ACPI各方面的知识,好好地捋一捋。 1 大

8247

膜拜!终于有人把Django的MVT设计模式解释的清清楚楚了!

视图是请求的相应响应。假设一个用户发送了一个请求www.ablog.com/posts/post-1。因此,主要是视图与模型和模板进行对话以发送对请求的响应。URL模式包含用户将请求的URL。博客的URL模式可能是www.xiaohei.com/posts或www.xiaohei.com/posts/post-1或www.xiaohei.com/about等。MVT代表模型视图模板。它与通常已知的MVC(模型-视图-控制器)设计模式略有不同。收到请求后,Django搜索此特定请求是否有相应的响应。

2301_79655576的博客 1022

【VAX 小番茄安装详细步骤】

本文详细介绍了在VS2022环境下安装Visual Assist X(番茄助手)的步骤及常见问题解决方案。主要内容包括:安装前的兼容性设置(需修改为Windows7兼容模式)、安装流程(卸载旧版本、勾选对应VS版本、替换关键dll文件)以及常见问题处理(如安装失败、工具栏图标缺失等)。文章提供了完整的下载链接和操作截图,特别强调了安装失败后的清理方法(注册表、安装目录和残余文件删除)。最后给出了安装成功后的测试运行指引。

qq_23962581的博客 1718

IGV实战指南:从数据导入到Peak可视化的全流程解析

本文提供了一份IGV实战指南,详细解析了从数据导入到Peak可视化的全流程。内容包括软件安装、参考基因组加载、测序数据处理、信号调整以及如何精准定位和可视化Peak区域,并分享了导出出版级矢量图的高级技巧,帮助用户高效完成基因组数据可视化分析。

weixin_29212867的博客 149

Django之M层的字段属性和选项以及查询函数

一.常用的字段属性: 1.AutoField 自动增长的IntegerField,通常不用指定,不指定时Django会自动创建属性名为id的自动增长属性。 2.BooleanField 布尔字段,值为True或False。 3.NullBooleanField 支持Null、True、False三种值。 4.CharField(max_length=最大长度) 字符串。参数max_length表示...

wsy_666的博客 530

【mip-NeRF】使用一组二维图像渲染3D场景视频(mip-NeRF论文复现)

本文对mip-NeRF模型的pytorch实现进行了复现

Ryan2k的博客 1843

Django - 设计模式及模板层

MVC和MTV MVC = Model - View - Controller (模型 - 视图 - 控制器)模式 M层主要用于对数据库的封装 V层主要用于向用户展示结果 C层用于处理请求、获取数据、返回结果 MTV = Model - Template - View(模型 - 模板 - 视图)模式 M层负责与数据库交互 T层负责呈现内容到浏览器 V层是核心,负责接收请求、获取数据、返回结果 模板层 1)什么是模板? 模板是可以根据字典数据动态变化的html网页。 模板可以根据视图中传递的字典

tian__si的博客 583

Electron - Electron failed to install correctly, please delete node_modules/electron and try install

Electron安装失败:Electron failed to install correctly, please delete node_modules/electron and try installing again,electron安装报错:Electron failed to install correctly...解决方案,Electron 未能正确安装,请删除 node_modules/electron,然后再次尝试安装,如何解决这个问题,手把手教你解决,在yarn dev时报错,electr

🏆 前端领域优质创作者 4368

在 Linux 64 位上遭遇 Signal 7 与 ST22 SYSTEM_CORE_DUMPED:从 es/implementation=std 到 /dev/shm 的一套落地排查法

摘要: Linux 64位SAP系统出现SYSTEM_CORE_DUMPED和Signal 7(对应SIGBUS)错误时,核心问题是进程因共享内存资源异常被操作系统强制终止。主要诱因包括:1)/dev/shm的tmpfs默认容量不足(通常仅占物理内存50%);2)SAP内存管理参数es/implementation=map在64位场景下的敏感性。解决方案应双管齐下:在实例profile设置es/implementation=std以降低对tmpfs的依赖,同时按(RAM+Swap)*75%重新配置/dev/

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 164

Django框架MVT模型工作流程

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

Python全栈系列 1717

【项目实战】自动化测试软件VectorCAST介绍

VectorCAST是一款先进的自动化测试软件。VectorCAST是一款功能强大、易于使用的自动化测试软件。VectorCAST适用于各种嵌入式系统的测试。VectorCAST为嵌入式系统的测试提供了一种高效、可靠的解决方案。VectorCAST提供了一整套完整的测试工具,包括测试管理、代码覆盖、缺陷定位、报告生成等,以帮助开发人员提高测试效率,确保软件质量。VectorCAST支持。

奶爸的编程之路,也就一周冷个三天 2008

Python学习——django模型

django框架中的模型models是用来控制数据库的,属于MVT中的M层。有关数据的操作的都要经过models模块。 模型的使用步骤: 配置数据库 models.py定义模型类 激活模型 使用模型 Django默认使用的是sqlite(如果没有sqlite创建app的时候会报错,所以建议先配置数据库),但在生产环境中一般会用MySQL、postgrsql、oracle等关系型数据库。1、...

SixGod6860 447

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Django到底是MVC还是MVT?以及MVC和MVT的区别

最近一直被一些问题所困惑:Django是遵循MVC还是MVT?MVC和MVT到底有哪些区别?MVC可以继续拆分吗? 在网络上浏览了很多无关痛痒的文章,无非是M、V、C分别代表什么,M、V、T又分别代表什么,这些表层的解释对程序员来说非但不会解决问题,反而还会增加困惑。所以,在查了一些资料之后,在个人理解的基础上,进行总结,记住,这只是个人观点和立场。 MVC是怎么来的?是什么? 最开始MVC是一种...

高岩 is me 9301

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Django系列教程(3)——Django的MVT设计模式

当用户发来一个请求(request)时,Django会对请求头信息进行解析,解析出用户需要访问的url地址,然后根据路由urls.py中的定义的对应关系把请求转发到相应的视图处理。Django的MVT设计模式由Model(模型), View(视图) 和Template(模板)三部分组成,分别对应单个app目录下的models.py, views.py和templates文件夹。光编写视图(views.py)还不够,我们还得为写好的视图函数配置路由,这样才能将视图函数与用户的请求地址建立好对应关系。

彩蛋在每篇文章的最后名片 1927

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

[Django]MVT模式的详解

关于 Django 数据驱动 Web 应用的总体设计 把数据存取逻辑、业务逻辑和表现逻辑组合在一起的概念有时被称为软件架构的 Model-View-Controller (MVC)模式。 在这个模式中, Model 代表数据存取层,View 代表的是系统中选择显示什么和怎么显示的部分,Controller 指的是系统中根据用户输入并视需要访问模型,以决定使用哪个视图的那部分。 为什么用缩写? 像 MVC 这样的明确定义模式的主要用于改善开发人员之间的沟通。 比起告诉同事,“让我们采用抽象的数据存取方式,然后

SORYUSHIKINAMI的博客 5900

【Django入门】——MVC和MVT两种模式的异同

MVC和MVT两种模式的异同

weixin_37780776的博客 3998

详解Django MVT设计模式

本章我们将介绍下经典的软件开发所遵循的MVC (Model-View-Controller, 模型-视图-控制器) 设计模式以及Django的MVT设计模式(Model-View-Temp...

大江狗 1648

Django的MVT模式与MVC模式

文章目录1,介绍MVT2,介绍MVC 1,介绍MVT M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。 V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。 T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。 Django中MVT的设计是遵守 MVC的流程去执行。 MVT即模型-模版-视图模式,其标准名称是有争议的。在MVC的解释中,视图描述了展现给用户的数据,是指所看到的数据,而不是如何看见它。在python中视图是指对某一

hsw的博客 1858

Django中关于MVC和MVT

Django Tornado等等很多的web框架都是采用MVC和MVT软件架构的web框架 所以要学好Django我们必须先了解MVC和MVT是什么?django基础知识之认识MVT MVC:MVT Django是一款python的web开发框架 与MVC有所不同,属于MVT框架 m表示model,负责与数据库交互 v表示view,是核心,负责接收请求、获取数据、返回结果 t表示temp

selectY的博客 2550

Dajngo框架模型——MVT

Django框架模型——MVT 开发软件是一项浩大的工程,进行开发前,都需要先进行功能分类,把一项大人物,分成一个个小任务,并尽可能的实现各个模块之间的解耦,就可可大大简化开发的难度,因此就出现了软件开发的 MVC 思想。思想核心就是各个功能之间的解耦。从而达到:分工合作、各司其职、互不影响。 网站开发也是如此,开发一个大的网站也是需要各个功能之间的相互配合,同样使用到了 MVC 思想。 在...

CLANNAD 1616

Django介绍和MVT设计模式

1. 简介 2. 特点 3. Web应用程序处理流程 4. Web程序框架的意义 5. Web应用程序的本质

但行好事,莫问前程 2760

Django_MVT(二)

M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。Django中的MVT遵守 MVC执行流程。MVT即模型-模版-视图模式,其标准名称是有争议的。在MVC的解释中,视图描述了展现给用户的数据,是指所看到的数据,而不是如何看见它。在python中视图是指对某一特定URL的回调函数,因为回调函数描述了所要展现的数据。

GDYY3721的博客 2517

Django学习(3):Django的MVT架构:Models模型层

如果已经存在的模型字段不能满足需求,或者希望支持一些不太常见的数据库列类型,可以创建自己的字段类。在官方文档中的"编写自定义模型字段"中提供了创建自定义字段的各方面内容。字段参考介绍了如何使用 Django 的标准字段类—— CharField, DateField,等等。大多数情况下,这些类就是我们所需要的。虽然有时候,Django 的版本不能精确地匹配需求,或者想使用的字段与 Django 内置的完全不同。

qq_62278240的博客 2389

Django的MVT模式

Django的MVT模式 MVT和MVC模型的区别 MVC模型是web服务常用的一种结构模型,MVC就是把Web应用服务分为模型(M),控制器©和视图(V)三层,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求 Django采用的MVT模型本质上也是一种MVC模型,只是定义上有些不同,MVT模式的视图代替了MVC的控制器的角色, MVT中模板充当了MVC的视图的角色。 Django MVT模式定义如下: M: Model, 模型 与MV

windyson2004的博客 1022
上一篇: Django-ORM框架的理解
下一篇: Django-MVT之V层总结
Terminator_HWW
博客等级 码龄9年 17粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值