Django里的ModelForm组件
ModelForm组件
- 自动生成HTML标签 + 自动读取关联数据
- 表单验证 + 保留之前提交的数据 + 错误提示
- 数据库进行:新建,修改
步骤如下:
- 创建类
# 在 views.py 文件里# 创建一个类
class AssetModelForm(forms.ModelForm):class Meta:model = models.AssetSet #fields = ['name', 'price', 'category', 'depart'] # 可以这么写fields = "__all__"
- 视图函数
# 在 views.py 里def asset_add(request):"""# 获取所有类型cat_list = models.AssetSet.category_choicesdp_list = models.Department.objects.all()form = AssetForm()"""cat_list = models.AssetSet.category_choicesdp_list = models.Department.objects.all()form = AssetModelForm()return render(request, 'asset_add.html', {'cat_list': cat_list, 'dp_list': dp_list, 'form': form})
- 前端页面
在 html 页面里得用循环来显示从数据库获取的数据
<form><!-- {{ form.name }}{{ form.price }} -->{% for field in form %}{{ field }}{% endfor %}
</form>
效果如下:
如果要想添加在数据库没有的field到前端页面,可以这么操作
# 在 views.py 文件里class AssetModelForm(forms.ModelForm):newField = forms.CharField() # 添加新的fieldclass Meta:model = models.AssetSet #fields = ['name', 'price', 'category', 'depart', 'newField']fields = "__all__"
效果如下:
添加了红色方框里的输入框
要想在 ModelForm 里对某一些 Field 添加 css 样式,可以这么操作
# 在 views.py 文件里class AssetModelForm(forms.ModelForm):newField = forms.CharField()class Meta:model = models.AssetSet fields = ['name', 'price', 'category', 'depart']#fields = "__all__""""# 单一的给某个field添加样式widgets = {'category': forms.Select(attrs={'style': "width: 300px;"})}"""# 给所有的 field 提供样式def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)for name, field in self.fields.items():if name == "price":continuefield.widget.attrs['style'] = "width: 100px"
这样效果就呈现在下面
点个赞呗~
相关文章:
Django里的ModelForm组件
ModelForm组件 自动生成HTML标签 自动读取关联数据表单验证 保留之前提交的数据 错误提示数据库进行:新建,修改 步骤如下: 创建类 # 在 views.py 文件里# 创建一个类 class AssetModelForm(forms.ModelForm):class Meta:model models.…...
深入理解C语言:main函数的奥秘
在C语言中,main函数是每个程序的入口点,起着至关重要的作用。本文将深入探讨main函数的工作原理,包括其参数、返回值、以及如何从main启动程序的执行。通过实际代码示例,读者将更深入地理解main函数在C语言编程中的核心地位。 第一…...
selenium自动化测试入门 —— Alert/Confirm/Prompt 弹出窗口处理!
一、Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口: 提示用户信息只有确认按钮,无法通过页面元素定位,不关闭窗口无法在页面上做其他操作。 Confirm 弹出窗口: 有确认和取消按钮,该弹出窗口无法用页面元素定…...
探索JavaScript 18:新特性全解析
JavaScript,作为全球最广泛使用的编程语言之一,每年的更新都备受开发者社区的关注。2023年,JavaScript的新版标准——ECMAScript 2023(也称为JavaScript 18)引入了多项激动人心的新特性,这些特性不仅优化了…...
Python第二语言(七、Python模块)
目录 1. 什么是模块 2. 基本语法 2.1 模块的导入方式 2.2 基本语法 import 模块名 2.3 基本语法 from 模块名 import 功能名 2.4 基本语法as 别名 3. 自定义模块 4. 调用自定义模块时,如何让其模块中的函数不被调用(__name__) 5. 调…...
介绍单例模式
描述 保证一个类只有一个实例,并且提供一个全局访问点 场景: 重量级的对象,不需要多个实例,如线程池,数据库连接池 实现 1. 懒汉模式 延迟加载的方式 只有在真正使用的时候,才开始实例化线程安全问题…...
【C++修行之道】类和对象(五)日期类的实现、const成员、取地址及const和取地址操作符重载
目录 一、 日期类的实现 Date.h 1.1 GetMonthDay函数(获取某年某月的天数) 问:这个函数为什么不和其他的函数一样放在Date.cpp文件中实现呢? 1.2 CheckDate函数(检查日期有效性)、Print函数(…...
来腾讯第4天,我已经焦虑昏了啊!
大家好,我是白露啊。 今天在看到一个实习生在抱怨,给我笑惨了。 标题是:“腾讯实习第4天,焦虑昏了”! 他写道:“怎么办啊牛爷爷们,什么都不会。业务看不懂,文档看不懂,…...
MacOS升级ruby版本
MacOS自带ruby版本是2.x,可以通过“ruby -v”查看版本号 $ ruby -v ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]homebrew安装的ruby版本号可以通过“brew info ruby”命令参看 $ brew info ruby > ruby: stable 3.3.2 (bottled)…...
【MySQL数据库基础】
🌈个人主页:努力学编程’ ⛅个人推荐:基于java提供的ArrayList实现的扑克牌游戏 |C贪吃蛇详解 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 …...
QT系列教程(9) 主窗口学习
简介 任何界面应用都有一个主窗口,今天我们谈谈主窗口相关知识。一个主窗口包括菜单栏,工具栏,状态栏,以及中心区域等部分。我们先从菜单栏说起 菜单栏 我们创建一个主窗口应用程序, 在ui文件里的菜单栏里有“在这里输入”的一个…...
【C++进阶】深入STL之 栈与队列:数据结构探索之旅
📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:模拟实现list与迭代器 🌹🌹期待您的关注 🌹🌹 ❀stack和queue Ǵ…...
SpringBoot发邮件服务如何配置?怎么使用?
SpringBoot发邮件需要的参数?邮件发送性能如何优化? 在SpringBoot项目中配置发邮件服务是一个常见的需求,它允许我们通过应用程序发送通知、验证邮件或其他类型的邮件。AokSend将详细介绍如何在SpringBoot中配置发邮件服务。 SpringBoot发邮…...
AutoCAD Mechanical机械版专业的计算机辅助设计软件安装包下载安装!
AutoCAD机械版作为一款专业的计算机辅助设计软件,不仅具备卓越的二维绘图功能,更是拥有令人瞩目的3D建模工具,为机械设计师们提供了前所未有的创作空间。 在AutoCAD机械版的3D建模环境中,用户可以借助一系列简洁明了的命令&#…...
json.load报错AttributeError: ‘str‘ object has no attribute ‘load‘
with open(json_file, r) as f:data json.load(f)要写个简单的数据处理脚本,报错AttributeError: ‘str’ object has no attribute ‘load’,查看了一下,路径正确,查了半天博客,不知道错在哪里。 回头一看 jsons_pa…...
单词记忆(第二周)
transplant: trans - plant 移植 perceive: per - ceive 察觉 paraphrase: para - ph - rase 释义 prospect: pro - s - pect 前景 access: ac - cess 进入,通道,访问 generous; gene - rous 慷慨的,丰富的 lecture: lec - ture 讲座 …...
RAG:如何从0到1搭建一个RAG应用
通过本文你可以了解到: 什么是RAG?如何搭建一个RAG应用?目前开源的RAG应用有哪些? 大模型学习参考: 1.大模型学习资料整理:大模型学习资料整理:如何从0到1学习大模型,搭建个人或企业…...
leetcode:67二进制求和
题目链接:67. 二进制求和 - 力扣(LeetCode) class Solution { public:string addBinary(string a, string b) {int stralen a.size(), strblen b.size();int curtc;int Maxlen max(stralen, strblen);vector<int> stra;vector<i…...
大模型日报2024-06-10
大模型日报 2024-06-10 大模型资讯 无需矩阵乘法的语言模型在亿参数规模上表现优异 摘要: 研究表明,无需矩阵乘法的语言模型在亿参数规模上仍能保持顶级性能。这一发现挑战了传统神经网络依赖矩阵乘法的观点,展示了在GPU优化之外的新可能性。 博弈论助力…...
【博士每天一篇文献-综述】Modularity in Deep Learning A Survey
阅读时间:2023-12-8 1 介绍 年份:2023 作者:孙浩哲,布朗克斯医疗卫生系统 会议: Science and Information Conference 引用量:4 论文主要探讨了深度学习中的模块化(modularity)概念…...
Sentinel不使用控制台基于注解限流,热点参数限流
目录 一、maven依赖 二、控制台 三、基于注解限流 四、热点参数限流 五、使用JMeter验证 一、maven依赖 需要注意,使用的版本需要和你的SpringBoot版本匹配!! Spring-Cloud直接添加如下依赖即可,baba已经帮你指定好版本了。…...
HTML做成一个端午节炫酷页面
做成端午节页面之前,先了解一下端午节的由来: 1.起源与历史: 端午节起源于中国,始于春秋战国时期,至今已有2000多年历史。 最初是古代百越地区(长江中下游及以南一带)崇拜龙图腾的部族举行图…...
解决Ubuntu系统/usr/lib/xorg/Xorg占用显卡内存问题原创
在Ubuntu系统中,/usr/lib/xorg/Xorg进程占用显卡内存的问题可能会影响系统性能,特别是在使用GPU进行计算任务时。以下是一些解决方法,可以帮助你减少或解决这个问题: 1. 更新显卡驱动 首先,确保你使用的是最新版本的…...
【Activiti7系列】基于Spring Security的Activiti7工作流管理系统简介及实现(附源码)(下篇)
作者:后端小肥肠 上篇:【Activiti7系列】基于Spring Security的Activiti7工作流管理系统简介及实现(上篇)_spring security activiti7-CSDN博客 目录 1.前言 2. 核心代码 2.1. 流程定义模型管理 2.1.1. 新增流程定义模型数据 …...
解密Spring Boot:深入理解条件装配与条件注解
文章目录 一、条件装配概述1.1 条件装配的基本原理1.2 条件装配的作用 二、常用注解2.1 ConditionalOnClass2.2 ConditionalOnBean2.3 ConditionalOnProperty2.4 ConditionalOnExpression2.5 ConditionalOnMissingBean 三、条件装配的实现原理四、实际案例 一、条件装配概述 1…...
【数据结构与算法】使用数组实现栈:原理、步骤与应用
💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法》 期待您的关注 目录 一、引言 🎄栈(Stack)是什么? …...
cell的复用机制和自定义cell
cell的复用机制和自定义cell UITableView 在学习cell之前,我们需要先了解UITableView。UITableView继承于UIScrollView,拥有两个两个相关协议 UITableViewDelegate和UITableViewDataSource,前者用于显示单元格,设置行高以及对单…...
Redis 双写一致原理篇
前言 我们都知道,redis一般的作用是顶在mysql前面做一个"带刀侍卫"的角色,可以缓解mysql的服务压力,但是我们如何保证数据库的数据和redis缓存中的数据的双写一致呢,我们这里先说一遍流程,然后以流程为切入点来谈谈redis和mysql的双写一致性是如何保证的吧 流程 首先…...
《软件定义安全》之四:什么是软件定义安全
第4章 什么是软件定义安全 1.软件定义安全的含义 1.1 软件定义安全的提出 虚拟化、云计算、软件定义架构的出现,对安全体系提出了新的挑战。如果要跟上网络演进的步伐和业务快速创新的速度,安全体系应该朝以下方向演变。 𝟭 安全机制软件…...
将AIRNet集成到yolov8中,实现端到端训练与推理
AIRNet是一个图像修复网络,支持对图像进行去雾、去雨、去噪声的修复。其基于对比的退化编码器(CBDE),将各种退化类型统一到同一嵌入空间;然后,基于退化引导恢复网络(DGRN)将嵌入空间修复为目标图像。可以将AIRNet的输出与yolov8进行端到端集成,实现部署上的简化。 本博…...
wordpress建站 app访问/整站优化外包服务
DWGTool Acme CAD Converter 2020是一款非常好用CAD图形处理软件,实用又方便,真的是图形管理的必备的神器,小巧却功能强大,人性化的设计,让界面对于用户来说非常的友好,操作起来也非常的简单,不…...
经济新闻最新消息财经/seo交流
在运行杀毒软件时能否还进行其他线程的操作?相信很多用户会觉得卡。如果开启了全盘查杀后,系统更是感觉不能再进行其他操作了,否则轻则卡顿,重则死机。现在这些杀毒软件在进行全盘查杀时,内存占用是否有所改进…...
网站运营建站优化专家/网站百度关键词seo排名优化
学习时长30h代码量1000博客数量7篇学习内容Android不同页面间的数据传递等转载于:https://www.cnblogs.com/liyuchao/p/10849937.html...
网站制作手机端/hao123文件在哪里
参考 https://blog.csdn.net/BlueCY/article/details/76164941 1、新建数据源 默认情况下Windows系统创建数据源时,是没有Oracle驱动程序的。 2、准备Oracle数据源 从Oracle主站下载两个文件: https://www.oracle.com/technetwork/topics/winx64sof…...
网页设计跟网站建设的区别/广东的seo产品推广服务公司
(1)职业的程序员设计的时间长于编码的时间,业余程序员编码的时间长于设计的时间; (2)职业的程序员是设计程序,业余程序员是调试程序; (3)职业的程序员是预防B…...
网站开发毕业设计任务书范文/qianhu微建站
概述: 将对象组合成树形结构以表示“部分-整体”的层次结构。“Composite使得用户对单个对象和组合对象的使用具有一致性。” 类型:结构型模式。 类图: 适用性: 1.你想表示对象的部分-整体层次结构。 2.你希望用户忽略组合对象与单…...