如何更改Django ChoiceField中的默认选择选项?

时间:2016-05-31 15:51:39

标签: python django django-forms

我正在尝试在Django中获得一个带有选择字段的表单。我的表单代码如下所示:

UNIVERSITIES = (
    ('North South University', 'North South University'),
    ('BRAC University', 'BRAC University'),
)

class SearchForm(forms.Form):
    """
    Form used to search for a professor.
    """
    professor_name = forms.CharField(
        label="Enter a professor's name or name code",
        max_length=255,
        widget=forms.TextInput(attrs={
            'placeholder': 'Search for a professor',
            'required' : 'required',
        }),
    )
    university = forms.ChoiceField(
        label="Select your university",
        choices=UNIVERSITIES,
    )

我得到的形式是南北大学'默认情况下。如何将其更改为空字符串?也就是说,不会选择任何选项谢谢。

2 个答案:

答案 0 :(得分:2)

试试这个:

university = forms.TypedChoiceField(
    label="Select your university",
    choices=UNIVERSITIES,
    empty_value="--- youre empty value here ---",
)

答案 1 :(得分:2)

您可以这样做:

UNIVERSITIES = (
    ( None, ''),
    ('North South University', 'North South University'),
    ('BRAC University', 'BRAC University'),
)

由于该值默认为None,因此用户需要选择其中一个选项。如果您想将文字更改为'Select your university',可以将''更改为{1}},也可以将Label添加到ChoiceField