如何增加小部件DateField的年份

时间:2012-07-20 06:35:55

标签: django django-forms django-templates

我的表格如下:

class UserProfileUpdateForm(forms.ModelForm):
    birthday = forms.DateField(widget=forms.DateInput(attrs={"class": "datepicker input-medium"}, format=('%m/%d/%Y')),
        error_messages={'required': 'Birthday is required.'})

此日期选择器仅显示从1900年到2012年的年份。因此,用户无法选择2013年或未来年份的日期。请看下面的图片。

由于

enter image description here

2 个答案:

答案 0 :(得分:1)

这似乎是一个jQueryUI问题。你检查了他们的文档吗?

$( "#datepicker" ).datepicker({
    changeMonth: true,
    changeYear: true
});

应该给你一个好的日期选择器。

答案 1 :(得分:1)

您可以将小部件更改为“SelectDateWidget”并指定日期范围(此处未经测试):

from django.forms.extras.widgets import SelectDateWidget
class UserProfileUpdateForm(forms.ModelForm):
    birthday = forms.DateField(widget=forms.SelectDateWidget(years=range(1900, 2100),
            error_messages={'required': 'Birthday is required.'})