【发布时间】:2020-06-02 18:01:31
【问题描述】:
如何在 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 }} 递增。对于 DB 中的每一行,我在其他部分得到相同的模板。如何将其更改为其他选项。
【问题讨论】:
-
你还没有关闭 with 标签。请关闭它。 {% endwith %}
-
@pavan 有效,但 {{ forloop.i }} 无效。只获取其他部分的数据,我应该更改以获得每个数据的替代部分
-
实际上没有像 forloop.i 这样的变量。 for 循环在循环中设置了许多可用的变量。请查看链接docs.djangoproject.com/en/3.0/ref/templates/builtins/#for。
标签: django django-templates django-template-filters