2013-02-27 89 views
0

我有一個包含TimeField對象的模型。我也有一個django模板,其中列出了JSON格式的時間字段 格式化Django模板中的TimeField不會顯示任何內容

... 
    "time":"{{ mymodel.mytime }}", 
... 

沒有指定任何格式/過濾器等,這會導致以下結果。

.... 
    "time":"5 p.m.", 
.... 

然而,當我申請時間過濾器,以我的模板,即

... 
    "time":"{{ mymodel.mytime|time:"H:i" }}", 
... 

我得到以下結果:

... 
    "time":"", 
... 

即我的時間值被消滅了。我不確定發生了什麼事?我也在同一個模型中使用了一個日期字段,並且我正在應用該過濾器(在同一個django模板中),該模板按照定義工作。

我使用Django 1.4.2

我缺少什麼或者沒做是否正確?

+1

你肯定'time'的價值實際上是一個時間的對象,而不是字符串?它的默認表示是「下午5點」似乎很奇怪。而不是我預期的「17:00:00」。 – 2013-02-27 12:48:03

+0

在我的模型中,我有以下幾點:mytime = models.TimeField(blank = True,null = True)..所以我希望它默認返回一個Time對象? – FlashAsh99 2013-02-27 12:59:52

回答

0

對於一些bizzare的原因,不知道什麼..它已經開始工作!必須是過濾格式的錯字或其他內容?真奇怪。

4

您也將時間格式放在雙引號中。 嘗試:

"time":"{{ mymodel.mytime|time:'H:i' }}", 

"time":'{{ mymodel.mytime|time:"H:i" }}', 

"time":"{{ mymodel.mytime|time:\"H:i\" }}", 
0

時間

根據給定的格式格式化的時間。

給定的格式可以是預定義的一個TIME_FORMAT,也可以是與日期過濾器相同的自定義格式。請注意,預定義的格式是區域設置相關的。

例如:

{{值|時間: 「H:我」}}