Django Form 将类添加到 div、输入字段和标签
Posted
技术标签:
【中文标题】Django Form 将类添加到 div、输入字段和标签【英文标题】:Django Form add class to div, input field and label 【发布时间】:2021-06-21 07:05:00 【问题描述】:这是为 ImageField 生成的 html django 表单
<div id="div_id_image" class="form-group">
<label for="id_image" class=""> Image </label>
<div class=""> <input type="file" name="image" accept="image/*" class="clearablefileinput form-control-file" id="id_image">
</div>
现在,我可以编写自定义 html 代码来自定义此字段。但是,我的用例只是添加 3 个类,一个用于外部 div,一个用于标签,一个用于输入字段本身。 是否可以在不编写任何自定义 html 代码的情况下以 django 形式添加这 3 个类
【问题讨论】:
【参考方案1】:这是可能的。使用“django-widget-tweaks”工具。它将为您的表单提供充分的灵活性。
查看官方文档:
https://pypi.org/project/django-widget-tweaks/
如果你只想从 form.py 添加类名 (你可以试试这个,但代码没有经过测试)
from django import forms
class xyzform(forms.ModelForm):
x= forms.CharField(widget= forms.TextInput
(attrs='class':'some_class',
'id':'some_id'))
y= forms.CharField(widget= forms.TextInput
(attrs='class':'some_class',
'id':'some_id'))
class Meta:
model = xyzModal
fields = [
'x',
'y'
]
【讨论】:
文档似乎指向在 html 部分修改它。我正在寻找一种在 forms.py 文件中而不是在 form.html 文件中修改它的方法。 检查更新。你可以试试这个,但代码没有经过测试。 但这只会在输入字段上添加类...在标签或 div 标签上没有以上是关于Django Form 将类添加到 div、输入字段和标签的主要内容,如果未能解决你的问题,请参考以下文章