【问题标题】:How to set default date in SelectDateWidget in django如何在 django 的 SelectDateWidget 中设置默认日期
【发布时间】:2012-02-01 07:21:39
【问题描述】:

我正在使用SelectDateWidget 小部件在表单字段中输入日期。但我希望它默认显示当前日期。我该怎么做?

model.py

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

这是给出错误。谁能告诉正确的方法?

还有,我的 in 模板

{{ form.bdate }}

当我在模板中使用上述行时,它会显示如下 -- -- -- 但我想要这样的月份日期年份。我该怎么做?

我的表格是:

widgets = {
      'bdate' : SelectDateWidget(),         
      }

【问题讨论】:

    标签: django django-forms django-widget


    【解决方案1】:

    有类似问题here

    尝试使用default=datetime.date.todayauto_now_add=True

    【讨论】:

    • auto_now_add=True 将在保存时自动将日期设置为现在,默认情况下它不会使实际字段显示任何内容。事实上,只有将它与editable=False 结合使用才有意义。
    【解决方案2】:

    使用 Django 1.3,以下对我有用:

    join_date = forms.DateField(widget=SelectDateWidget(), label='Joining Date', initial=timezone.now())
    

    关键字是initial 而不是default

    【讨论】:

      猜你喜欢
      • 2016-12-20
      • 2012-09-13
      • 2016-05-06
      • 2018-11-16
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 2010-12-06
      • 2012-02-03
      相关资源
      最近更新 更多