我使用Python 3.6和Django作为Web框架 我必须在我的数据库中一起保存日期时间,但在HTML中显示日期和时间单独的字段。 型号代码:
class date_time(models.Model):
date = models.DateField(default=timezone.now)
time = models.TimeField(default=timezone.now)
表格代码:
class date_time_Form(forms.ModelForm):
class Meta:
model = date_time
fields = ('date', 'time',)
widgets = {
'date': forms.TextInput(attrs={'class': 'form-control', 'type': 'date'}),
'time': forms.TextInput(attrs={'class': 'form-control', 'type': 'time'}),
}
labels = {
'date': 'Date',
'time': 'Time',
}
目前,我存储在一个单独的字段中,但我想保存在一个字段日期+时间。
更新 -
我可以使用Datetime字段,但这将在HTML页面中只创建一个元素。
但是在HTML中我想要像下面这样的单独字段,模型中只有一个日期时间字段
有没有办法实现这个目标?
答案 0 :(得分:0)
这正是DateTimeField的用途。
date_time = models.DateTimeField()
答案 1 :(得分:0)
您可以使用models.DateTimeField
将dateTime存储在一个字段中。
DateTimeField
答案 2 :(得分:0)
您可以从HTML获取日期和时间,然后将它们合并到DateTime对象中。有关具体方法,请参阅Pythonic way to add datetime.date and datetime.time objects。
如果您想要反向(获取日期时间,并获取日期和时间),您可以看到How do I convert datetime to date (in Python)?和Convert datetime to time in python
答案 3 :(得分:0)
您可以使用SplitDateTimeField
:https://docs.djangoproject.com/en/3.0/ref/forms/fields/#splitdatetimefield
class Myform(forms.Form):
start_date = forms.SplitDateTimeField(initial=datetime.datetime.now)
但是,如果每个标签都需要一个标签,则需要修改模板或使用单独的表单属性。