单独的日期时间字段显示使用Django在HTML中分开的日期和时间

问题描述:

我使用Python 3.6和Django作为web框架 我必须将datetime一起保存在我的数据库中,但在HTML中显示日期和时间单独的字段。 型号代码:单独的日期时间字段显示使用Django在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', 
     } 

目前,我存储在一个单独的领域,但我想在一个领域日期+时间保存。

更新 - 我可以使用日期时间字段,但只会在HTML页面中创建一个元素。 When I use Datetime field

但在HTML我想在模型的单独领域,如下面只有一个时间字段 Desired output

有什么办法来实现这一目标?

这正是DateTimeField的用途。

date_time = models.DateTimeField() 
+0

我想,我是不是能够让你们明白我想要的目的。请参阅最新的问题。 感谢您的努力 – displayname

您可以使用models.DateTimeField在一个字段中存储dateTime。 DateTimeField

+0

我想我无法让您理解我想要达到的目标。请参阅最新的问题。 感谢您的努力 – displayname

您可以从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

+0

是的,但我们将如何在Django中实现这一点。有没有办法将模型中的datetime字段转换为表单中的日期和时间字段? – displayname

+1

@umang Django是Python。您将模型的DateTime值存储在变量中,例如myDateTime,然后调用myDateTime.date()和myDateTime.time()以获取日期和时间。 – Eric

+0

请参阅我在数据库'date_time'中有一个列,它可以一起保存日期和时间。 但是 在HTML模板中,我希望日期和时间分开,这意味着我的日期将来自一个输入字段,时间将来自另一个输入字段,然后将两者结合并将其存储到我们的date_time列中。 所以,这里的挑战是如果我在model.py中创建Datetime字段,那么在html中我也会得到一个输入字段的日期和时间。如果我在model.py中分别使用datefield和timefield,那么它将被存储为两个separte列。我希望数据库中有一列和HTML中有两个单独的输入字段。 – displayname