2013-02-27 72 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:我”}}