django - Django表单中的空ChoiceField选择

标签 django django-forms

我有一个下拉表格供一个人选择毕业年份 --

graduation = forms.ChoiceField(choices=[(x,str(x)) for x in graduation_range])

如何添加一个附加字段并将其设为默认选择/显示?例如,诸如“选择年份”之类的内容。

目前,我正在做--

graduation_range = range(1970,2015)
graduation_range.append('Select Year')

但似乎必须有更直接的方法来做到这一点。 谢谢。

最佳答案

只需添加:

(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)

顺便说一句,我使用 unicode 是因为您使用的是 str,但实际上年份字段应该是整数,因为所有年份都是整数。

关于django - Django表单中的空ChoiceField选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6085756/

相关文章:

javascript - 如何根据变量值更改django html中的状态栏颜色

python - Django 过滤和删除

python - 当表单在 Django 中有效时触发谷歌分析事件

django - 如何在没有 HTML 标记的情况下提取 Django 表单错误消息

django - 文件上传在 Django 中使用 modelform 给出错误请求

python - Django 从 postgresql 数据库填充下拉菜单的完整示例

django - 在 Django admin 上保存模型后上传文件

django - 如何将 Django 媒体存储连接到 Dokku 持久存储?

django - Django 表单是否曾在 Django Rest Framework 中使用过?

python - 反转 'update_comment',参数为 '(' ',)' not found. 1 pattern(s) tried: [' comment\\/(?P<news_pk>[0-9]+)$']