【发布时间】:2013-02-27 06:56:44
【问题描述】:
我的模板中有以下内容:
{% for showtime in showtimes %}
{% ifchanged showtime.start.day %}
<h3>{{ showtime.start|date:"M d" }}</h3>
{% endifchanged %}
showtime.start 是一个时区感知的 DateTimeField。问题是 showtime.start.day 以 UTC 返回日期,而 showtime.start|date:"M d" 以上下文时区打印日期。
我尝试了以下方法:
{% ifchanged showtime.start|date:"M d" %}
因为 ifchanged 无法处理过滤器的参数而失败(即使在 1.5 中)。我尝试过使用时区和本地时间,例如。
{% load tz %}
{% timezone TIME_ZONE %}
{% for showtime in showtimes %}
{% ifchanged showtime.start.day %}
<h3>{{ showtime.start|date:"M d" }}</h3>
{% endifchanged %}
{% endtimezone %}
正如预期的那样,这些不起作用。有什么方法可以使 ifchanged 在日期时间的时区版本上工作,还是我需要自定义过滤器?
【问题讨论】:
-
嘿,我遇到了完全相同的问题,我想知道你最终会做什么?我的问题stackoverflow.com/questions/21199353/…