Django templatetags ISO到目前为止

时间:2015-10-17 14:58:35

标签: python django django-templates

这个问题类似于this one,但在我看来明显不同。

我有一个具有一些日期时间属性的对象。为了序列化它并存储为JSON字符串,我调用.isoformat方法(使用自定义JSON编码器)。

反过来说,我希望Django模板标签能够为我解决这个问题。我有一个JSON对象,我通过调用json.loads转换为字典。当我将其称为2015-10-07T14:57:00.501597+00:00时,结果属性的值为{{ my_object.date }}。但是,当我将它传递给date模板标签时,我根本没有输出。我正在尝试{{ my_object.date | date }},但也尝试{{ my_object.date | date:'Y-m-d' }}

日期无法转换这些值吗?我清楚地记得在某些时候这样做,但我不确定具体细节。

有没有办法正确调试?现在我只是没有看到任何输出,也没有出现在日志中。

1 个答案:

答案 0 :(得分:2)

为什么不在将它传递给模板之前将其转换为日期时间实例?然后,您可以使用模板中的date过滤器输出您想要的任何内容。如果你不能/不能这样做,你必须编写一个自定义过滤器标签来读取isoformat日期并按照你想要的方式输出。

使用dateutil library的示例:

from django import template
import dateutil

register = template.Library()

@register.filter(name='to_date')
def to_date(value):
    return dateutil.parser.parse(value)

custom filter tags的文档。