关于Django ChoiceField,我有两个问题:
这是我的表格:
class ContactForm(forms.Form):
GENDER = (
(1, _("Mr.")),
(2, _("Ms.")),
)
prefix = forms.ChoiceField(choices=GENDER)
...这可以很好地工作,但是我想知道为什么选择字段不接受默认值。
在页面上,它将Mr呈现为选定的值,但是,如果表单是提交的(注意:此字段的默认值为required=True ),它不会抛出错误,而我的表单post数据中的值是"Ms“。
另一个问题:{{ prefix.get_prefix_display }}似乎不起作用。这个函数的用法在模型和表单之间有区别吗?
发布于 2011-10-05 19:41:29
我觉得你把FormFields和ModelFields搞混了。您的FormField可以通过使用'initial‘参数来设置要显示的默认选项:
https://docs.djangoproject.com/en/dev/ref/forms/fields/#initial
但在你的模型中,它是由一个ModelField表示的,默认值可以使用' default‘参数来设置:
https://docs.djangoproject.com/en/dev/ref/models/fields/#default
https://stackoverflow.com/questions/7660631
复制相似问题