Django模板标记显示空日期为"仍然打开"

时间:2014-04-06 13:43:01

标签: django django-templates

我在Django模板中有以下代码:

{{date_from|date:"Y-m"}} - {{date_to|default_if_none:"still open"|date:"Y-m"}}

我目前得到:

  1. " 2012-08 - "
  2. " 2012-11 - 2012-08"
  3. ..正确显示的其余值。
  4. 我想谈谈这个问题:

    1. " 2012-08 - 仍然开放"
    2. " 2012-11 - 2012-08"
    3. ..正确显示的其余值。
    4. 你有什么建议吗? 我认为它没有正确显示,因为它是一个日期对象。

1 个答案:

答案 0 :(得分:3)

更改过滤器的顺序。使用default代替default_if_nonedate过滤器将为非日期/日期时间对象返回空字符串)

>>> t = Template('{{date_to|date:"Y-m"|default:"still open"}}')
>>> t.render(Context({'date_to': None}))
u'still open'
>>> t.render(Context({'date_to': datetime.datetime.now()}))
u'2014-04'