2024-06-06 16:31:51 发布
网友
在我的Django html模板中,我使用haystack格式获得SOLR facet_date结果 “2015-01-01T00:00:00Z”。如何在模板中以“01/01/2015”格式解析它? 我的模板是
{{ facets.dates.created.start }}
我应该在模板中添加什么“| date:”选项? 谢谢!在
如果日期是一个ISO字符串而不是Python日期时间。日期时间,我想您必须在视图上解析它或编写自定义筛选器:
# yourapp/templatetags/parse_iso.py from django.template import Library import datetime register = Library() @register.filter(expects_localtime=True) def parse_iso(value): return datetime.datetime.strptime(value, "%Y-%m-%dT%H:%M:%SZ")
然后在模板中:
[编辑]
got this error Exception Type: TemplateSyntaxError at /search/ Exception Value: 'parse_iso' is not a valid tag library: Template library parse_iso not found
Exception Type: TemplateSyntaxError at /search/ Exception Value: 'parse_iso' is not a valid tag library: Template library parse_iso not found
确保遵循code layout prescribed in the docs:
yourapp/ __init__.py models.py ... templatetags/ __init__.py parse_iso.py views.py
您的国家可以使用m/d/Y(01/01/2015是不明确的,我建议使用一个类似31/01/2015这样就可以清楚地知道第一个数字是代表日还是月)。在
m/d/Y
01/01/2015
31/01/2015
您可以为此使用Django模板标记。您需要使用{mydate| date:“someformat”}},它以“mydate”作为参数(应该是一个日期对象)来“date”标记,然后根据给定的格式格式化它。在
{{facets.dates.created.start|date:"d/m/Y"}}
如果{{ facets.dates.created.start }}是日期时间对象,则可以使用
{{ facets.dates.created.start|date:"SHORT_DATE_FORMAT" }}
如果您提供了一个字符串,您可以创建一个模板过滤器来将字符串转换为datetime对象并应用date过滤器
date
在模板中:
{{ facets.dates.created.start|stringformat:"%Y-%m-%dT%H:%M:%SZ"|date:"SHORT_DATE_FORMAT" }}
如果日期是一个ISO字符串而不是Python日期时间。日期时间,我想您必须在视图上解析它或编写自定义筛选器:
然后在模板中:
^{pr2}$[编辑]
确保遵循code layout prescribed in the docs:
您的国家可以使用
m/d/Y
(01/01/2015
是不明确的,我建议使用一个类似31/01/2015
这样就可以清楚地知道第一个数字是代表日还是月)。在您可以为此使用Django模板标记。您需要使用{mydate| date:“someformat”}},它以“mydate”作为参数(应该是一个日期对象)来“date”标记,然后根据给定的格式格式化它。在
如果
{{ facets.dates.created.start }}
是日期时间对象,则可以使用如果您提供了一个字符串,您可以创建一个模板过滤器来将字符串转换为datetime对象并应用
^{pr2}$date
过滤器在模板中:
相关问题 更多 >
编程相关推荐