码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Django里的Form组件


    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>
    
    

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


    点个赞呗~

  • 相关阅读:
    第十篇:复习maven
    js中ECharts的显示相关、动画、交互API、Koa2
    动态规划算法(2)--最大子段和与最长公共子序列
    【Ubuntu】实现windows和ubuntu之间的共享文件
    Linux Shell 脚本的10个高频面试问答
    【Vue】 前端上传图片时限制只可以按文件夹上传图片( webkitdirectory )
    redis 搭建主从
    零资源的大语言模型幻觉预防
    OpenGL之深度缓冲区与Z-Buffer消隐算法
    影视新闻查询易语言代码
  • 原文地址:https://blog.csdn.net/BSCHN123/article/details/139498871
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号