Django模板中的奇怪(至少对我来说)行为

时间:2010-05-27 10:58:58

标签: python django django-templates

Django模板(v 1.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 %}

有关错误的任何提示?

感谢。

1 个答案:

答案 0 :(得分:6)

item.vendors.all.0不返回"Test":它返回一个供应商对象,转换为字符串时会给出"Test"。如果您只是将对象与"Test"进行比较,它将永远不会相等。

在比较之前尝试将对象转换为字符串:

{% ifnotequal item.vendors.all.0|stringformat:"s" "Test" %}