无法在 Django 模板文件的 for 循环中使用条件标签

Not able to use conditional tags in for loop in Django template file

我正在使用 Django 1.4/python 2.7.9(因为我需要,我知道 1.4 现在已经很老了)而且我对 django/python 还很陌生。在我的模板文件中,我似乎无法在 for 循环中使用任何很酷的条件标记,例如 ifchanged 或 ifequal。

例如:

{% for asample in allsamples %}
    {% ifchanged asample.brand %}
        <h2>{{ asample.brand }}</h2>
    {% endifchanged %}
{% endfor %}

这会引发错误 "Encountered unknown tag 'ifchanged'. Jinja was looking for the following tags: 'endfor' or 'else'. The innermost block that needs to be closed is 'for'."

我也在那里尝试过 ifequals - 同样的错误。是否有什么东西阻止我在 for 循环中使用其他标签?

如果您询问 jinja2 解决方案,您可以使用 if/elseset:

解决此问题
{% for asample in allsamples %}
    {% if asample.brand != last_brand %}
        <h2>{{ asample.brand }}</h2>
        {% set last_brand = asample.brand %}
    {% endif %}
{% endfor %}