Python Django模板中奇怪的(至少对我来说)行为
Django模板(v1.1)中的以下代码段不起作用Python Django模板中奇怪的(至少对我来说)行为,python,django,django-templates,Python,Django,Django Templates,Django模板(v1.1)中的以下代码段不起作用 {{ item.vendors.all.0 }} ==> returns "Test" 但是下面的代码片段并没有隐藏段落 {% ifnotequal item.vendors.all.0 "Test" %} <p class="view_vendor">Vendor(s): {{item.vendors.all.0}} </p><br /> {% endifnotequal %} {%ifnoteq
{{ item.vendors.all.0 }} ==> returns "Test"
但是下面的代码片段并没有隐藏段落
{% ifnotequal item.vendors.all.0 "Test" %}
<p class="view_vendor">Vendor(s): {{item.vendors.all.0}} </p><br />
{% endifnotequal %}
{%ifnotequal item.vendors.all.0“测试”%}
供应商:{{item.vendors.all.0}
{%endifnotequal%}
有什么问题的提示吗
谢谢。
item.vendors.all.0
不返回“Test”
:它返回一个vendor对象,当转换为字符串时,会给出“Test”
。如果您只是将对象与“Test”
进行比较,它将永远不会相等
在比较之前,请尝试将对象转换为字符串:
{% ifnotequal item.vendors.all.0|stringformat:"s" "Test" %}
或者
ifnotequal item.vendors.all.0.name“Test”
,其中name
是相关的模型字段。我意识到它返回的是“vendor”对象,即在打印时调用unicode方法,但在比较它们时不调用。但是当我打印“name”时,model字段是空的……但是解决方案工作得很好。谢谢