Django里的Form组件

news2024/11/26 13:38:56

Form组件提供

  • 自动生成HTML标签和半自动读取关联数据 (“半自动”是指还得需要自己手写输入数据进来)
  • 表单验证和错误提示

要想创建并使用该组件,操作步骤如下:

  • 在 views.py 里创建类
# 在 views.py 文件里

from django import forms

class AssetForm(forms.Form):
    name = forms.CharField(required=True, widget=forms.TextInput)
    price = forms.CharField(required=True, widget=forms.TextInput)
    category = forms.ChoiceField(required=True, widget=forms.Select, choices=models.AssetSet.category_choices)

# 调用了在 models.py 文件里的类

class AssetSet(models.Model):
    # 只适用于固定的选择
    category_choices = ((1, '文具类'), (2, '3C类'), (3, '房产类'))
    category = models.SmallIntegerField(verbose_name="资产类型", choices=category_choices)

    # 外键 depart_id
    depart = models.ForeignKey(verbose_name="所属部门", to="Department", to_field="id", on_delete=models.CASCADE)

class Department(models.Model):
    title = models.CharField(verbose_name="标题", max_length=16)

  • 在 views.py 文件里创建一个函数
def asset_add(request):
    # 获取所有类型
    cat_list = models.AssetSet.category_choices
    dp_list = models.Department.objects.all()

    form = AssetForm()

    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>

显示的页面结果:
请添加图片描述


点个赞呗~

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

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

相关文章

杭州威雅学校2024-25学年招生简章

杭州市新学年招生政策现已公布&#xff0c;杭州威雅学校小学部、初中部招生工作全面开启。 招生简章与报名流程如下&#xff1a; Part.1 幼升小 01 招生对象 2017年9月1日至2018年8月31日出生满六周岁且符合杭州市萧山区小学招生条件的适龄儿童。 02 招生人数 新一年级…

CAPL如何发送一条UDP报文

UDP作为传输层协议,本身并不具有可靠性传输特点,所以不需要建立连接通道,可以直接发送数据。当然,前提是需要知道对方的通信端点,也就是IP地址和端口号。 端口号是传输层协议中最显著的特征,传输层根据它来确定上层绑定的应用程序,以达到把数据交给上层应用处理的目的。…

vsCode双击文件才能打开文件,单击文件只能预览?

解决&#xff1a; 1、打开设置 2、搜索workbench.editor.enablePreview 3、更改为不勾选状态 4、关闭设置 效果&#xff1a; 现在单击一个文件时&#xff0c;将会在编辑器中直接打开&#xff0c;而非是预览状态。

Flink SQL实践

环境准备 方式1&#xff1a;基于Standalone Flink集群的SQL Client 启动hadoop集群 [hadoopnode2 ~]$ start-cluster.sh [hadoopnode2 ~]$ sql-client.sh 使用Yarn Session启动Flink集群 [hadoopnode2 ~]$ start-cluster.sh [hadoopnode2 ~]$ sql-client.sh ... 省略若干…

2.Rust自动生成文件解析

目录 一、生成目录解析二、生成文件解析2.1 Cargo.toml2.2 main函数解析 一、生成目录解析 先使用cargo clean命令删除所有生成的文件&#xff0c;下图显示了目录结构和 main.rs文件 使用cargo new testrust时自动创建出名为testrust的Rust项目。内部主要包含一个src的源码文…

Unity开发——编辑器打包、3种方式加载AssetBundle资源

一、创建ab资源 &#xff08;一&#xff09;Unity资源设置ab格式 1、选中要打包成assetbundle的资源&#xff1b; 可以是图片&#xff0c;材质球&#xff0c;预制体等&#xff0c;这里方便展示用预制体打包设置展示&#xff1b; 2、AssetBundle面板说明 &#xff08;1&…

Android Uri转File path路径,Kotlin

Android Uri转File path路径&#xff0c;Kotlin /*** URI转化为file path路径*/private fun getFilePathFromURI(context: Context, contentURI: Uri): String? {val result: String?var cursor: Cursor? nulltry {cursor context.contentResolver.query(contentURI, null…

【Python机器学习】预处理对监督学习的作用

还是用cancer数据集&#xff0c;观察使用MinMaxScaler对学习SVC的作用。 首先&#xff0c;在原始数据上拟合SVC&#xff1a; cancerload_breast_cancer() X_train,X_test,y_train,y_testtrain_test_split(cancer.data,cancer.target,random_state0 ) svmSVC(C100) svm.fit(X_t…

【LeetCode】39.组合总和

组合总和 题目描述&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个…

专业文章 | AIGC绘制:基于Stable Diffusion制作端午海报

AIGC全称为AI Generated Content&#xff08;人工智能生产内容&#xff09;&#xff0c;即基于生成对抗网络GAN、大型预训练模型等人工智能技术&#xff0c;通过寻找已有数据规律与适当泛化能力生成相关技术内容。简单来说&#xff0c;任何AI技术生成的内容都可以视为AIGC。 2…

Aurora 8b/10b协议(高速收发器十五)

点击进入高速收发器系列文章导航界面 前面几篇文章通过自定义PHY协议去实现高速收发器收发数据&#xff0c;一帧数据包括帧头、数据、帧尾等信息&#xff0c;在空闲的时候发送FLSR伪随机序列降低电磁干扰&#xff0c;并且每隔固定空闲时间发送一次逗号&#xff0c;用于接收端字…

(文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略

参考文献&#xff1a; [1]潘虹锦,高红均,杨艳红,等.基于主从博弈的售电商多元零售套餐设计与多级市场购电策略[J].中国电机工程学报,2022,42(13):4785-4800. 1.摘要 随着电力市场改革的发展&#xff0c;如何制定吸引用户选择的多类型零售套餐成为提升售电商利润的研究重点。为…

大模型备案重点步骤详细说明

随着人工智能技术的发展&#xff0c;大模型在语音识别、图像处理、自然语言处理等领域应用日益广泛&#xff0c;为进一步保障和监管大模型技术应用&#xff0c;我国出台了《生成式人工智能服务管理暂行办法》&#xff0c;为大模型的合规提供了明确的法律框架。2024年4月2日&…

[STM32]定位器与PWM的LED控制

目录 1. 深入了解STM32定时器原理&#xff0c;掌握脉宽调制pwm生成方法。 (1)STM32定时器原理 原理概述 STM32定时器的常见模式 使用步骤 (2)脉宽调制pwm生成方法。 2. 实验 (1)LED亮灭 代码 测试效果 (2)呼吸灯 代码 测试效果 3.总结 1. 深入了解STM32定时器原…

【MySQL】SQL通用语法

【MySQL】SQL通用语法 SQL是结构化查询语言&#xff08;Structured Query Language&#xff09;的缩写&#xff0c;是一种专门用来管理和操作关系型数据库的标准化语言。SQL能够实现数据库的创建、查询、更新和删除操作&#xff0c;以及对数据进行存储、检索和管理。通过SQL语句…

YOLOv5改进 | 主干网络 | 用SimRepCSP作为主干网络提取特征【全网独家 + 降本增效】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; SimRepCSP 类似于 YOLOv7的主干网络&#xff0c;由卷积模块和重参数化卷积&#xff08;RepConv&#xff09;模块组合而成&#xff0c;以 Cro…

政安晨【零基础玩转各类开源AI项目】解析开源:IDM-VTON:改进真实虚拟试穿的扩散模型

目录 概述 要求 数据准备 服饰代码 推理 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 项目地址&…

添加图片到资源文件,QPixmap ,QSplash的用法

实现1个QSplash加载之后&#xff0c;呈现主窗体的效果 1、创建资源文件&#xff0c;添加Splash.png文件 2、main.cpp 编码实现 将图像添加资源文件&#xff0c;复制文件的路径 main.cpp :/img/Splash.png 为资源的文件路径 #include "mainwindow.h" #include <…

Flink任务如何跑起来之 1.DataStream和Transformation

Flink任务如何跑起来之 1.DataStream和Transformation 1. 滥觞 在使用Flink完成业务功能之余&#xff0c;有必要了解下我们的任务是如何跑起来的。知其然&#xff0c;知其所以然。 既然重点是学习应用程序如何跑起来&#xff0c;那么应用程序的内容不重要&#xff0c;越简单…

【设计模式深度剖析】【4】【行为型】【策略模式】

文章目录 策略模式定义英文原话直译 角色类图策略接口Strategy&#xff1a;具体策略类上下文类Context测试类 策略模式的应用策略模式的优点策略模式的缺点策略模式的使用场景 策略模式 策略模式&#xff08;Strategy Pattern&#xff09; Strategy策略也称作Policy政策。 想…