如何在 Django 中获取 SelectDateWidget 以显示不同的“年份”选项

Posted

技术标签:

【中文标题】如何在 Django 中获取 SelectDateWidget 以显示不同的“年份”选项【英文标题】:How to get SelectDateWidget in Django to show different "Year" options 【发布时间】:2011-09-03 06:39:43 【问题描述】:
class PersonalForm(ModelForm):
    class Meta:
        model = InfoPersonal
        widgets = 'dateofbirth' :  SelectDateWidget()

只是简单的实现给出了从 2011 年开始的年度下拉列表。我宁愿我的用户不是新生婴儿。如何自定义?

【问题讨论】:

【参考方案1】:

您可以按任意顺序传递years 参数和年份列表。例如

SelectDateWidget(years=range(1950, 2012))

【讨论】:

您还知道如何删除下拉菜单中的“非选项”,如我希望它在 1900 年 1 月 1 日打开吗? @Sussagittikasusa 您可以将defalut=%yourdate% 添加到模型的dateofbirth 字段。或者,如果它只针对这个表单(或者你不想在模型中使用默认值),你可以覆盖表单的__init__ 方法,设置初始值:self.fields['dateofbirth'].initial = %yourdate%

以上是关于如何在 Django 中获取 SelectDateWidget 以显示不同的“年份”选项的主要内容,如果未能解决你的问题,请参考以下文章

mysql获取日期语句汇总

MySQL内置函数获取几天前的日期

如何在 django 中同时获取两个模型

如何在 Django 模板中获取当前 URL?

如何在 Django 模板中获取当前 URL?

如何在 Django 模板中获取当前 URL?