我正在使用带有额外字段my_field
的ModelForm:
class MyForm(forms.ModelForm):
my_field = forms.CharField()
class Meta:
model = MyModel
在模板中,我显示带有as_p()
功能的表单。使用上面的代码,它将额外字段呈现为:
<p><label for="id_my_field">My field :</label> <input id="id_my_field" name="my_field" type="text" /></p>
如何仅为此字段的<p>
标记添加类?我想:
<p class="special_field"><label ...
通过查看django / forms / forms.py,似乎我必须使用css_classes,但我不知道如何。
答案 0 :(得分:0)
1)手动渲染字段https://docs.djangoproject.com/en/dev/topics/forms/#rendering-fields-manually
2)覆盖as_p
方法:
class MyForm(forms.ModelForm):
def as_p(self):
...
3)如果您想要自定义表单并进行最少的更改,请查看django-crispy-forms
http://django-crispy-forms.readthedocs.org/en/latest/
答案 1 :(得分:0)
如果您要为必填字段提供不同的css类,请定义required_css_class
属性:
class MyForm(forms.ModelForm):
my_field = forms.CharField()
required_css_class = 'special_field' # <----
class Meta:
model = MyModel