我有一个下拉表单,可以选择毕业年份 -
graduation = forms.ChoiceField(choices=[(x,str(x)) for x in graduation_range])
如何添加其他字段并将其设为默认选择/显示?例如,“选择年份”。
目前,我正在做 -
graduation_range = range(1970,2015)
graduation_range.append('Select Year')
但似乎必须有一种更直截了当的方法来做到这一点。 谢谢。
答案 0 :(得分:7)
只需添加:
(u'', u'Select Year') # First element will be the `value` attribute.
所以:
choices = [(u'', u'Select Year')]
choices.extend([(unicode(year), unicode(year)) for year in range(1970, 2015)])
graduation = forms.ChoiceField(choices=choices)
BTW,我使用unicode
因为你使用的是str
,但实际上一年的字段应该是一个整数,因为所有年份都是整数。
答案 1 :(得分:1)
#city choices
city_list=city.objects.all()
choices_city = ([('----select----','----select a city----')])
choices_city.extend([(x,x) for x in city_list])
city =forms.CharField(widget=forms.Select(choices=choices_city))
我用它来制作django 1.8