如何在Django form的字段label标签中添加自定义class类
给Django表单label添加Bootstrap类的实现方法
分两种情况根据你使用的Django版本选择即可:
Django版本≥4.0(最简单方案)
Django 4.0及以上版本原生支持在字段声明时通过label_attr参数直接设置label标签的属性,你可以直接修改你的代码如下:
class MyForm(forms.Form): file = forms.FileField( label="Choose File", # 此处添加label的类,form-label是Bootstrap原生表单label对应类,可按需替换 label_attr={"class": "form-label"}, widget=forms.ClearableFileInput(attrs={'multiple': True, 'class': 'custom-file-input'}) )
Django版本<4.0
低版本Django需要重写表单的__init__方法来给label添加属性,实现代码如下:
class MyForm(forms.Form): file = forms.FileField( label="Choose File", widget=forms.ClearableFileInput(attrs={'multiple': True, 'class': 'custom-file-input'}) ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # 给单个字段的label添加类 self.fields['file'].label_attr = {"class": "form-label"} # 若需要给当前表单所有字段的label统一加类,可替换为下面的循环代码 # for field in self.fields.values(): # field.label_attr = {"class": "form-label"}
内容的提问来源于stack exchange,提问作者Luca Vasapolli
相关产品推荐
相关产品推荐

