2017-09-01 67 views
2

我使用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

有什麼辦法來實現這一目標?

回答

0

這正是DateTimeField的用途。

date_time = models.DateTimeField() 
+0

我想,我是不是能夠讓你們明白我想要的目的。請參閱最新的問題。 感謝您的努力 – displayname

0

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

+0

我想我無法讓您理解我想要達到的目標。請參閱最新的問題。 感謝您的努力 – displayname

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

+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

相關問題