django - 如何在 Django 模板中声明一个变量并增加它
问题描述
如何在 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 中的每一行,我在其他部分得到相同的模板。如何将其更改为替代的。
解决方案
无需创建新变量。您可以使用正常的 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 %}
推荐阅读
- java - 在使用 webflux 但不使用 JPA 发出请求时,已经为绑定到线程的键值 [org.springframework.orm.jpa.EntityManagerHolder@64fcf46a]
- html - 为什么不保留 HTML 部分高度?
- css - 如何防止css-grid中的白细胞
- php - PhpSpreadsheet - 从分隔文件导入日期
- unity3d - Firebase Unity 远程配置:MinimumFetchInternalInMilliseconds 无法按预期工作
- ffmpeg - FFMPEG:如何在创建多个流时混合不同类型的图像序列输入
- xamarin - Xamarin 窗体 UWP 应用程序在窗口调整大小后不会调整元素大小
- node.js - Axios 和 Oauth1.0 - '状态:400,错误请求'
- blazor - 通知 EditContext 该字段已更改以进行 Blazor 验证
- javascript - 如何防止传播运算符保持原始参考?