如何在Django模板中添加,乘以数字变量?

Cha*_*iam 9 tags for-loop django-templates

我创建的JS片段依赖于{% for key, value in data.items %}..{% endfor %}标记中可用的forloop.counter变量.

有没有办法将数学运算符(*, - ,+,/)与forloop.counter变量一起使用?

Ser*_*tin 16

可以使用django内置的widthratio模板标签并添加过滤器:

  • 将5添加到forloop.counter {{forloop.counter|add:5}}
  • 从forloop.counter中减去5 {{forloop.counter|add:"-5"}}
  • devlo forloop.counter由5 {% widthratio forloop.counter 5 1 %}
  • 将forloop.counter乘以5 {% widthratio forloop.counter 1 5 %}


Mat*_*ues 15

文档中有过滤添加 添加.

我很确定在Django模板中没有内置的方法可以使用其他数学运算来代替数字.但是你可以随时制作自己的.这样做并不总是一个好主意.

您希望将逻辑保留在视图中并将渲染保留在模板中.

在您的情况下,您应该将计数器存储在JavaScript变量中,并在您的代码段中使用它.


Mad*_*Air 7

使用django-mathfilters。该addition过滤器不强迫号码整数,所以你可以添加浮动:

{% load mathfilters %}
{{ num1 | addition:num2 }}
Run Code Online (Sandbox Code Playgroud)