我需要在我的模型表单中添加额外的字段。我的方法是:
class MyForm(forms.ModelForm):
extra_field = forms.CharField()
class Meta:
model = MyModel
widgets = {
#Does not work
'extra_field': forms.Textarea(attrs={'placeholder': u'Bla bla'}),
}
但是看起来在 class Meta
中为 extra_field
定义的小部件被忽略了,因为我在模板中只有一个裸的 input 标签而不是 textarea。
所以我采用了下面的方法:
class MyForm(forms.ModelForm):
#It works fine
extra_field = forms.CharField(widget=forms.Textarea())
class Meta:
model = MyModel
对我来说它完美地工作了,但我曾在 class Meta
声明中为表单字段指定了小部件。所以我想知道:
为什么我的第一种方法不起作用?我做错了什么?