检查一个值是否等于Django模板中另一个数字的模数(Check if a value is equal to the modulo of another number in a Django template)

我正在试图在Django中获得相同的结果

if idx % 3 == 2:做些什么

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

我用这个:

{% ifequal idx|divisibleby:3 2 %}
    do something
{% endifequal %}

似乎divisibleby过滤器返回True所以在得到模数之后比较数字2几乎是不可能的。


I am trying to get an equivalent of this in Django

if idx % 3 == 2: do something

idx is an index in a forloop but I have simplified the code

I used this:

{% ifequal idx|divisibleby:3 2 %}
    do something
{% endifequal %}

It seems like the divisibleby filter returns True so it is almost impossible to compare the number 2 after getting its modulo.


原文:https://stackoverflow.com/questions/35528897
2022-05-16 20:05

满意答案

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

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


{% ifequal idx|modulo:3 2 %}

DivisibleBy just does a modulo to check whether or not the final value is equal to 0, there isn't anything stopping you making your own template tag using the exact same code without the final check

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


{% ifequal idx|modulo:3 2 %}

相关问答

更多

调用render()时如何获取Django模板错误的文件名和行号?(How to get the filename and line number of a Django template error when calling render()?)

我相信TemplateSyntaxError source属性是你正在寻找的。 Django代码意味着提到的数字是发生错误的行号,请参阅https://github.com/django/django/blob/1.3.7/django/views/debug.py#L153 。 至于TemplateDoesNotExist ,它似乎被忽略,当它作为模板标签的结果发生时,请参阅https://github.com/django/django/blob/1.3.7/django/template/l...

Modulo处理不正确(Modulo is not processing correctly)

除了一些问题,您的代码大多是正确的: 1)如果是ISBN,你正试图计算校验和(最后一位数)。 这意味着您应该只考虑9位数: ISBNNo = raw_input("please enter a ten digit number of choice") assert len(ISBNNo) == 10, "ten digit ISBN number is expected" # ... for i in ISBNNo[0:9]: # iterate only over positions 0..9...

检查一个值是否等于Django模板中另一个数字的模数(Check if a value is equal to the modulo of another number in a Django template)

DivisibleBy只是做一个模数来检查最终值是否等于0,没有任何东西阻止你使用完全相同的代码制作自己的模板标签而没有最终检查 @register.filter(is_safe=False) def modulo(value, arg): return int(value) % int(arg) {% ifequal idx|modulo:3 2 %} DivisibleBy just does a modulo to check whether or not the final ...

django模板从字母数字中获取数字(django template to get number from alphanumeric)

您可以使用slice过滤器。 {{ myvalue|slice:"-3:" }} You can use the slice filter. {{ myvalue|slice:"-3:" }}

模数为双打(Modulo for doubles)

这是不可能的,双倍只有15位有效数字。 寻找BigInt类的实现。 这里讨论C的具体情况。 That's not possible, a double only has 15 significant digits. Look for an implementation of a BigInt class. C specific is discussed here.

Django模板中具有相同位置的编号列表?(A numbered list with some equal positions in a Django template?)

这似乎更像是在视图中处理的事情: players = your_queryset ordered_players = [] counter = 1 previous_player = PlayerModel.objects.none() for player in players.order_by("score"): if player.score == previous_player.score: position = previous_player.position else:...

检查模数1(checking number modulo 1)

在javascript中,所有数字都是float因此n%1返回n/1余数,因此它返回n的小数部分,如n-floor(n)为正n 。 所以: if (n % 1 || n < 2) 应选择所有小数和小于2的所有整数(对于整数IsPrime方法,这些无效输入)。 in javascript all numbers are floats so n%1 returns remainder of n/1 so it returns the fractional part of n something li...

在django模板上显示等于持续时间值的(时间)图标(displaying (time )icons equal to duration value on django template)

调整过滤器以返回长度为n的迭代,而不是整数n。 例如: hrminutes = (range(6), range(30)) 这样,模板中的for循环就可以工作了。 Adjust your filter to return iterables of length n instead of the integer n. For example: hrminutes = (range(6), range(30)) That way your for loops in the template wil...

相关文章

更多

vicalloy的我与django

我和Django 我使用python的很大一部分原因就是django。虽然在以前也用过python, ...

Java Number类

Java Number类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、 ...

Drupal Forums instead of phpBB or vBulletin: A casestudy

5th Jan, 10 Drupal drupal advanced forum drupa ...

django-haystack+solr实现搜索

前天晚上写了个django-haystack和whoosh结合来实现搜索功能的,今天把solr看了下, ...

在django中加入搜索引擎

上周蛋疼给做的一个东西加了个搜索引擎,虽然整体来说项目数据也不会很大,但是出于DBA的职业嘛,不想用l ...

《Joomla 2.5 模板教程:宁皓网》(Create a Joomla 2.5 Template)前两章 + 模板资源[光盘镜像]

中文名: Joomla 2.5 模板教程:宁皓网 英文名: Create a Joomla 2. ...

Django资源汇总(转)

Django 我和Django &para; 我使用python的很大一部分原因就是django。虽 ...

Haystack - Search for Django

Haystack - Search for Django Search doesn' ...

Django下载及安装

Django的下载与安装,下载地址https://www.djangoproject.com/down ...

Becoming a data scientist

Data Week: Becoming a data scientist Data Pointed, ...