gpt4 book ai didi

python - Django模板ifequal小数比较

转载 作者:太空宇宙 更新时间:2023-11-04 06:48:06 26 4
gpt4 key购买 nike

所以,我有一个可以是 3 个不同值的小数域。在我看来,我传入一个包含适当小数的值字典值作为键。

{% for item in booklist %}  
{% for key, value in numvec.items %}
{{item.number}}
{% ifequals item.number {{key}} %}
{{value}}
{% endifequals %}
{% endfor %}
{% endfor %}

这是我作为 numvec 传入的字典:

numvec = {"TEST":Decimal("0.999"), "TEST2":Decimal("0.500"),

"TEST3":十进制("0.255")}

数字字段在我的模型中被定义为具有这些选择:

BOOK_CHOICES=((Decimal("0.999"), 'TEST'),(Decimal("0.500"), 'TEST2'),(Decimal("0.255"), 'TEST3'),)

如果我比较字典,项目编号在 View 中打印出来就好了与属性,但由于某种原因 ifequals 不能正确比较两位小数。这是一个错误,还是我在做什么我的模板中的 ifequals 错误?

最佳答案

这不是错误,有可能实现您想要做的事情。

但是,首先要对您的代码进行几点说明:

  • 没有“ifequals/endifequals”运算符。您要么使用 "ifequal/endifequal""if/endif" .
  • 第二件事。如果您在“ifequal”或“if”运算符中留下双大括号,您的代码 {% ifequal item.number {{key}} %} 将导致 TemplateSyntaxError 异常。

现在的解决方案:

  1. 只需使用 "stringformat"过滤以将您的十进制值转换为字符串。
  2. 在运算符中使用变量时跳过大括号。
  3. 不要忘记“if”或“ifequal”运算符中的变量始终表示为字符串。

这是一个例子:

{% for item in decimals %}  
{% if item|stringformat:"s" == variable %}
{{ variable }}
{% endif %}
{% endfor %}

关于python - Django模板ifequal小数比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/443650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com