如何在 Django 模板中声明一个变量并递增它

How to declare a variable and increment it in Django templates

如何在 Django 模板中初始化数值变量。

{% with i=1 %}
    {% for cont in data %}

    {% if i|divisibleby:3 %}
         {{ forloop.i }}
    <!-- HTML -->

    {% elif i|divisibleby:2 %}
         {{ forloop.i }}
    <!-- HTML -->

    {% else %}
         {{ forloop.i }}
    <!-- HTML -->

    {% endif %}
   {% endfor %}

由于 {% with i=1 %} 而出现此错误

TemplateSyntaxError at /tools-dash/

Unclosed tag on line 21: 'with'. Looking for one of: endwith.

变量 i 没有按每个 {{ forloop.i }} 递增。对于数据库中的每一行,我在其他部分得到了相同的模板。如何将其更改为替代项。

无需创建新变量。您可以使用正常的 for 循环,并检查 forloop.counter 是否可以被 3 或 2 整除。像这样:

{% for cont in data %}

    {% if forloop.counter|divisibleby:3 %}
        {{ forloop.counter }}
        <!-- HTML -->

    {% elif forloop.counter|divisibleby:2 %}
        {{ forloop.counter }}
        <!-- HTML -->

    {% else %}
        {{ forloop.counter }}
        <!-- HTML -->

    {% endif %}

{% endfor %}