【发布时间】:2012-08-19 08:01:55
【问题描述】:
我必须在我的模型表单中添加额外的字段。我的做法是:
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 声明中为表单字段指定小部件。所以我想知道:
为什么我的第一种方法不起作用?我做错了什么?
【问题讨论】:
-
你确定你使用的是 Django 1.4 吗? Form.Meta.widgets 是在 Django 1.4 中引入的。
标签: python django django-forms extra