如何在Django中的SelectDateWidget部件中设置默认日期

8
我正在使用 SelectDateWidget 小部件来输入日期,但我希望它默认显示当前日期。我该怎么做?

model.py

bdate = models.DateField(default=datetime.date.today())

这里出现了错误,请问正确的操作方式是什么?
此外,我的模板中...
{{ form.bdate }}

当我在我的模板中使用上述行时,它会显示为-- -- --,但我想要像这样的东西月份 日期 年份。我该怎么做?
我的表单是:
widgets = {
      'bdate' : SelectDateWidget(),         
      }
2个回答

8
使用Django 1.3,以下方法适用于我:
join_date = forms.DateField(widget=SelectDateWidget(), label='Joining Date', initial=timezone.now())

关键字是initial而不是default

1

这里有一个类似的问题在这里

尝试使用default=datetime.date.today 或者 auto_now_add=True


auto_now_add=True 的作用是在保存时自动将日期设置为当前时间,但默认情况下它不会使实际字段显示任何内容。事实上,只有与 editable=False 结合使用才有意义。 - Chris Pratt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接