首页 > 其他分享 >【django学习-24】自定义插件

【django学习-24】自定义插件

时间:2024-05-14 21:30:19浏览次数:20  
标签:24 control 插件 form 自定义 forms field attrs class

  • 1.ModelForm可以帮助我们生成HTML标签,这种是普通的标签
class UserModelForm(forms.ModelForm):
    class Meta:
        model = models.UserInfo
        fields = ["name", "password",]

form = UserModelForm()
  • 2.如果我们要使用bootstrap的标签,该怎么操作呢?
    • 2.1:自定义插件
class UserModelForm(forms.ModelForm):
    class Meta:
        model = models.UserInfo
        fields = ["name", "password",]
        widgets = {
            "name": forms.TextInput(attrs={"class": "form-control"}),
            "password": forms.PasswordInput(attrs={"class": "form-control"}),
            "age": forms.TextInput(attrs={"class": "form-control"}),
        }
  • 2.2:上述方法,要对每个字段进行修改,不利于开发。如是,我们可以利用下面的方法批量修改
class UserModelForm(forms.ModelForm):
    class Meta:
        model = models.UserInfo
        fields = ["name", "password", "age",]

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        
        # 循环ModelForm中的所有字段,给每个字段的插件设置
        for name, field in self.fields.items():
            # 字段中有属性,保留原来的属性,没有属性,才增加。
            if field.widget.attrs:
				field.widget.attrs["class"] = "form-control"
				field.widget.attrs["placeholder"] = field.label
            else:
                field.widget.attrs = {
                    "class": "form-control", 
                    "placeholder": field.label
                }

标签:24,control,插件,form,自定义,forms,field,attrs,class
From: https://www.cnblogs.com/xwltest/p/18192293

相关文章

  • THUSC/PKUSC 2024
    写了题面,游记和部分题解。THUSC2024Day1A给定非负整数\(d,n_1,n_2,\cdots,n_d,p,L\),求\[\sum_{i_1=0}^{n_1-1}\sum_{i_2=0}^{n_2-1}\cdots\sum_{i_d=0}^{n_d-1}\max((i_1\oplusi_2\oplus\cdots\oplusi_d)-L,0)\]对\(p\)取模的值。有\(T\)组数据。不保证\(p\)是质......
  • CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
    CodeGeeX是支持适配VisualStudio2019的唯一一款国产智能辅助编程工具,已经在VisualStudio趋势上霸榜2周!CodeGeeXv1.0.4版本上线VisualStudio插件市场,带来了多项新功能和性能优化,提升编程体验。新功能亮点速览:一、侧边栏工具箱功能v1.0.4版本中,CodeGeeX新增了侧边栏工具箱......
  • TypeScript 中,type 和 interface 定义自定义类型的区别
    在TypeScript中,type 和 interface 都用于定义自定义类型,但它们有一些不同之处。主要区别在于以下几点:语法差异:type:使用 type 关键字来定义类型别名,语法相对简洁,适合用于定义具体的类型结构或组合现有类型。interface:使用 interface 关键字来定义接口,语法更为正式,可......
  • 2024 ICPC National Invitational Collegiate Programming Contest, Wuhan Site
    2024ICPCNationalInvitationalCollegiateProgrammingContest,WuhanSiteI.CyclicAppleStrings题意:给定一个01字符串,每次操作可以将这个字符串向左循环移动任意次数,求让这个字符串变成有序的需要最少几次操作思路:每次只能减少最右边的不和有边界相邻的一个1的长块,每次......
  • 20240514打卡
    第十二周第一天第二天第三天第四天第五天第六天第七天所花时间1h0h代码量(行)1440博客量(篇)11知识点了解界面美化CSS,mdn官网学习团队趣味活动合作......
  • MCal工程通用计算式算量表V1.3.2.10 2024.5.14
     1、更新下tab菜单2、增加计算式结果四舍五入,四舍六入的设置,在显示效果-工程结果中选择3、次级计算式增加到20个,欢迎测试。下载地址:www.zawen.net         https://club.excelhome.net/thread-1644206-1-1.html......
  • 2024年5月14日最新GPT-4o 使用方法
    2024年5月14日最新GPT-4o使用方法如何访问GPT-4、GPT-4Turbo和GPT-4o?了解如何在ChatGPT中访问GPT-4o,以及通过OpenAIAPI访问GPT-4、GPT-4Turbo和GPT-4o什么是GPT-4o?GPT-4o是OpenAI的新旗舰模型,能够实时处理音频、视觉和文本。GPT-4o将首先在ChatGPT和API中作为文本和视觉......
  • 在 dynamic crm 中创建自定义报表
    一种是直接使用dynamiccrm内置的报表功能,报表向导进行创建,但可自定义的程度有限另一种就是使用SQLServerDataTools工具在VisualStudio中生成*.rdl文件再将文件导入dynamiccrm中进行使用在 但需要注意,dynamic2016/365/8.2,必须搭建VisualStudio2015环境......
  • 2024年5月14日最新GPT-4o 使用方法
    2024年5月14日最新GPT-4o使用方法如何访问GPT-4、GPT-4Turbo和GPT-4o?了解如何在ChatGPT中访问GPT-4o,以及通过OpenAIAPI访问GPT-4、GPT-4Turbo和GPT-4o什么是GPT-4o?GPT-4o是OpenAI的新旗舰模型,能够实时处理音频、视觉和文本。GPT-4o将首先在ChatGPT和API中作为文本和视觉......
  • 2024年AppScan 最新10.5.0破解版 附详细安装教程
     免责声明请勿利用文章内的相关技术从事非法测试。由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,请务必遵守网络安全法律法规。本文仅用于测试,请完成测试后24小时删除,请勿用于商业用途。如文中内容涉及侵权行......