在Django模板中格式化TimeField不显示任何内容

时间:2013-02-27 12:36:59

标签: django django-templates django-filters

我有一个包含TimeField对象的模型。我还有一个django模板,列出了JSON格式的时间字段 e.g。

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

如果没有指定任何格式/过滤器等,则会产生以下结果:

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

但是,当我将时间过滤器应用于我的模板时,即

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

我得到以下结果:

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

即。我的时间价值被消灭了。我不确定发生了什么事?我也在同一个模型中有一个日期字段,我正在应用的过滤器(在同一个django模板中)按定义工作。

我正在使用Django 1.4.2

我错过了什么或没有做错?

3 个答案:

答案 0 :(得分:4)

您也将时间格式设置为双引号。 尝试:

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

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

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

答案 1 :(得分:0)

对于一些古怪的原因,不知道是什么..它已经开始工作了!必须是过滤格式的拼写错误?!真的很奇怪。

答案 2 :(得分:0)

时间

根据给定的格式格式化时间。

给定格式可以是预定义的一个TIME_FORMAT,也可以是自定义格式,与日期过滤器相同。请注意,预定义格式取决于区域设置。

例如:

{{value | time:" H:i" }}