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

Fla*_*h99 1 django django-templates django-filters

我有一个包含 TimeField 对象的模型。我还有一个 django 模板,它以 JSON 格式列出时间字段,例如

...
   "time":"{{ mymodel.mytime }}",
...
Run Code Online (Sandbox Code Playgroud)

不指定任何格式/过滤器等,这会导致以下例如

....
    "time":"5 p.m.",
....
Run Code Online (Sandbox Code Playgroud)

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

...
   "time":"{{ mymodel.mytime|time:"H:i" }}",
...
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:

...
    "time":"",
...
Run Code Online (Sandbox Code Playgroud)

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

我正在使用 Django 1.4.2

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

ash*_*nb0 5

您也将时间格式放在双引号中。尝试:

"time":"{{ mymodel.mytime|time:'H:i' }}",
Run Code Online (Sandbox Code Playgroud)

或者

"time":'{{ mymodel.mytime|time:"H:i" }}',
Run Code Online (Sandbox Code Playgroud)

或者

"time":"{{ mymodel.mytime|time:\"H:i\" }}",
Run Code Online (Sandbox Code Playgroud)