这个问题类似于this one https://stackoverflow.com/questions/7737146/django-template-date-format但在我看来却截然不同。
我有一个具有一些日期时间属性的对象。为了序列化它并存储为 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' }}
.
date 不能转换这些值吗?我清楚地记得在某个时候这样做过,但不确定具体细节。
有没有办法正确调试这个?现在我没有看到任何输出,日志中也没有出现任何内容。
为什么不在将其传递给模板之前将其转换为日期时间实例?然后你可以使用date https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#date在模板中过滤以输出您想要的任何内容。如果您不/不能这样做,则必须编写自定义过滤器标记来读取 isoformat 日期并按照您想要的方式输出。
使用示例日期实用程序库 https://pypi.python.org/pypi/python-dateutil:
from django import template
import dateutil
register = template.Library()
@register.filter(name='to_date')
def to_date(value):
return dateutil.parser.parse(value)
文档用于自定义过滤器标签 https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/#writing-custom-template-filters.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)