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

iko*_*man 2 django django-forms

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

是否有捷径可寻?

Bar*_*tek 10

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

SelectDateWidget(years=range(1985, datetime.date.today().year+10))
Run Code Online (Sandbox Code Playgroud)

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

您可以在此处查看小部件的工作原理