Django中DateField表单控件无法显示默认值问题求助
Django中DateField表单控件无法显示默认值问题求助
大家好,我最近在Django开发中遇到了一个棘手的问题:我想给表单里的DateField设置默认日期,但页面上始终看不到这个默认值,不过查看页面HTML源码时,value属性明明已经带上了当前日期。
最开始我是这么写代码的:
class Foo(models.Model): date = models.DateField() class FooForm(ModelForm): class Meta: model = Foo fields = "__all__" widgets = { "date": DateInput( format=("%d-%m-%Y"), attrs={ "class": "form-control", "value": timezone.now().strftime("%d-%m-%Y"), "type": "date" } ), }
这段代码生成的HTML是这样的:
<input type="date" name="date" value="29-02-2024" class="input" prod_date="input" required="" id="id_date">
但页面上的日期输入框就是不显示这个默认值,连占位符效果都没有。
之后我按照建议修改了代码,把默认值设置到模型层面:
class Foo(models.Model): date = models.DateField(default=date.today) class FooForm(ModelForm): class Meta: model = Foo fields = "__all__" widgets = { "date": DateInput( format=("%d-%m-%Y"), attrs={"class": "form-control", "type": "date"} ), }
现在Django admin后台里的日期字段能正常显示默认值了,但前端的普通页面模板里还是看不到默认值,有没有大佬能帮我看看这是怎么回事呀?
备注:内容来源于stack exchange,提问作者xtlc
相关产品推荐
相关产品推荐

