【发布时间】:2022-01-03 17:34:33
【问题描述】:
我在一个模型中有两个 DateTime 字段:
models.py
start_appointment = models.DateTimeField(default=timezone.now, blank=True)
end_appointment = models.DateTimeField(default=timezone.now, blank=True)
我还有一个表单,我可以在其中为上述字段设置小部件:
'start_appointment': forms.DateTimeInput(attrs={'class': 'form-control', 'type': "datetime-local"}),
'end_appointment': forms.DateTimeInput(attrs={'class': 'form-control', 'type': "datetime-local"}),
我有一个更新视图,我想在其中更新约会的字段,例如 start_appointment。但是,当在模板中呈现表单时,这两个字段显示为 dd/mm/yyyy --:--, -- 表示来自数据库的值未显示,而所有其他字段都可以毫无问题地呈现。
另一方面,我可以毫无问题地执行表单并且更新成功。
模板:
<div class="form-group row">
<label class="col-form-label col-3 text-lg-right text-left">{% trans 'Start Appointment' %}</label>
<div class="col-9">
{{ form.start_appointment }}
</div>
</div>
更新
添加forms.py
class AddAppointmentForm(forms.ModelForm):
class Meta:
model = Appointment
fields = ['user', 'name', 'appointment_notes', 'seat', 'start_appointment', 'end_appointment']
widgets = {
'user': forms.Select(attrs={'class': 'form-control'}),
'name': forms.TextInput(attrs={'class': 'form-control'}),
'appointment_notes': forms.Textarea(attrs={'maxlength': '900', 'class': 'form-control' }),
'seat': forms.Select(attrs={'class': 'form-control'}),
'start_appointment': forms.DateTimeInput(attrs={'class': 'form-control', 'type': "datetime-local"}),
'end_appointment': forms.DateTimeInput(attrs={'class': 'form-control', 'type': "datetime-local"}),
}
可能是什么问题?
【问题讨论】:
-
您能分享一下您的表格吗?
-
感谢您的评论。当然,我已经更新了。
-
问题可能是这个
'type': "datetime-local"。你能把约会添加到数据库吗? -
尝试将您的日期时间更改为类似
'start_appointment': forms.DateTimeInput(format='%Y-%m-%d %H:%M:%S', attrs={'class':'datetimefield'})` -
是的,这似乎是问题所在。使用格式我可以看到日期和时间,但我现在缺少 datetimepicker。
标签: django forms datetime format