Django 表单 DateTimeField 初始值为空
Django form DateTimeField initial value is blank
我有一个创建表单,我在其中提交字段 ['created_at'] 作为隐藏的日期时间字段。我正在从 django.utils import timezone 导入并在另一个模型上运行。有谁知道为什么值是空白的?感谢您的帮助!
形式:
class CreateForm(ModelForm):
class Meta:
model = Animal
fields = ('name', 'course', 'core', 'animal_group', 'image_on', 'image_off', 'created_at',)
labels = { "image_on": "Animal Image", "image_off": "Incompleted Animal Image", }
widgets = {
'name': forms.Textarea(attrs={'cols': 80, 'rows': 1}),
}
def __init__(self, *args, **kwargs):
super(CreateForm, self).__init__(*args, **kwargs)
self.fields['created_at'] = forms.DateTimeField(initial = timezone.now())
self.fields['created_at'].widget = forms.HiddenInput()
def clean(self):
cleaned_data = self.cleaned_data
return cleaned_data
然而,当模板呈现隐藏输入时,隐藏输入就在那里,但它没有值。
这是模板代码片段:
<form action="/support/add_animal/" enctype="multipart/form-data" method="POST">
{% csrf_token %}
{{ create_form | crispy }}
<br>
<input type="submit" class="btn btn-success" value="Save">
</form>
我没有继续用这个问题撞墙,而是选择在模型中设置 created_at 时间,而不是在其他地方担心。
将属性设置为具有 (default=timezone.now)
,这解决了我的问题。
我有一个创建表单,我在其中提交字段 ['created_at'] 作为隐藏的日期时间字段。我正在从 django.utils import timezone 导入并在另一个模型上运行。有谁知道为什么值是空白的?感谢您的帮助!
形式:
class CreateForm(ModelForm):
class Meta:
model = Animal
fields = ('name', 'course', 'core', 'animal_group', 'image_on', 'image_off', 'created_at',)
labels = { "image_on": "Animal Image", "image_off": "Incompleted Animal Image", }
widgets = {
'name': forms.Textarea(attrs={'cols': 80, 'rows': 1}),
}
def __init__(self, *args, **kwargs):
super(CreateForm, self).__init__(*args, **kwargs)
self.fields['created_at'] = forms.DateTimeField(initial = timezone.now())
self.fields['created_at'].widget = forms.HiddenInput()
def clean(self):
cleaned_data = self.cleaned_data
return cleaned_data
然而,当模板呈现隐藏输入时,隐藏输入就在那里,但它没有值。
这是模板代码片段:
<form action="/support/add_animal/" enctype="multipart/form-data" method="POST">
{% csrf_token %}
{{ create_form | crispy }}
<br>
<input type="submit" class="btn btn-success" value="Save">
</form>
我没有继续用这个问题撞墙,而是选择在模型中设置 created_at 时间,而不是在其他地方担心。
将属性设置为具有 (default=timezone.now)
,这解决了我的问题。