Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模板标记比较不起作用_Python_Django - Fatal编程技术网

Python Django模板标记比较不起作用

Python Django模板标记比较不起作用,python,django,Python,Django,我试图比较Django模板标记中的两个值,但它并不像我期望的那样工作。以下是我的模板标记的外观: <ul> {% for c in category %} {% ifequal c.name|stringformat:"%s" values.project_category|stringformat:"%s" %} <li>Values equal ({{c.name}}:{{values.project_category}})</li> {% else %}

我试图比较Django模板标记中的两个值,但它并不像我期望的那样工作。以下是我的模板标记的外观:

<ul>
{% for c in category %}
{% ifequal c.name|stringformat:"%s" values.project_category|stringformat:"%s" %}
<li>Values equal ({{c.name}}:{{values.project_category}})</li>
{% else %}
<li>Values differ ({{c.name}}:{{values.project_category}})</li>
{% endifequal %}
{% endfor %}
</ul>
从输出中可以看到,值不相等(值
项不显示,因为它们不存在)。我做错了什么?我认为这一定是一个键入问题,这就是为什么我选择使用
stringformat
修饰符,但这似乎没有什么区别。

问题是在stringformat过滤器中使用“%s”。筛选器将删除前导的%:

因此,您只需将两个字符串转换为文字“%s”,并且由于“%s”==“s”,您的ifequal始终为true

Values equal (One:)
Values equal (Two:)
Values equal (Three:)