检查一个值是否等于Django模板中另一个数字的模数

Tus*_*rtz 3 python django django-templates

我想在Django中获得相同的效果

if idx % 3 == 2: 做一点事

idx是forloop中的索引,但我简化了代码

我用过这个:

{% ifequal idx|divisibleby:3 2 %}
    do something
{% endifequal %}
Run Code Online (Sandbox Code Playgroud)

似乎divisibleby过滤器返回,True因此在获得模数后几乎不可能比较数字2.

Say*_*yse 5

DivisibleBy只做一个模数来检查最终值是否等于0,没有任何东西阻止你使用完全相同的代码制作自己的模板标签而不进行最终检查

@register.filter(is_safe=False)
def modulo(value, arg):
    return int(value) % int(arg)


{% ifequal idx|modulo:3 2 %}
Run Code Online (Sandbox Code Playgroud)