我的模板中有以下内容:
{% 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 在日期时间的时区版本上工作,还是我需要自定义过滤器?