关于Django ChoiceField,我有两个问题:
这是我的表格:
class ContactForm(forms.Form):
GENDER = (
(1, _("Mr.")),
(2, _("Ms.")),
)
prefix = forms.ChoiceField(choices=GENDER)
...
这很好,但是我想知道为什么choicefield没有默认设置。
在页面上,它将Mr呈现为所选值,但是,如果提交了表单(请注意:此字段的默认值为True),则不会引发错误,并且表单发布数据中的值是“Ms”。
其他问题:
{{ prefix.get_prefix_display }}
似乎不起作用。.使用此函数的模型和形式之间是否有区别? 最佳答案
我认为您正在混合使用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
关于Django表单ChoiceField,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7660631/