在Django中显示一系列包含过去日期的下拉列表

时间:2010-07-12 21:20:05

标签: django django-forms

我在Django中使用模型表单允许用户输入他们的生日。我想让用户从一系列下拉列表中选择日期,每个月份,月份和日期各一个。最初我认为SelectDateWidget会起作用。但是,该特定小部件仅显示将来的日期。我当然希望只显示过去的日期。

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:10)

SelectDateWidget不仅适用于将来的日期。如果您想要过去的日期,则需要将不同的years参数传递到窗口小部件中,否则它将使用当前年份。因此,在您的表单中,只需执行:

SelectDateWidget(years=range(1985, datetime.date.today().year+10))

它基本上接受了一个年份列表,使用range函数非常适合。

您可以看到窗口小部件的工作方式here