django if tag& ifequal标签无法正常工作

时间:2016-02-25 10:50:09

标签: python django django-templates

views.py:

def get(request):
    p = Publisher.objects.filter(name='tux')
    return render(request, 'main.html', {'items': p[0]})

main.html中:

<html>    
    <body>
    {{ items }}
    <hr>
    {% if 'tux' in items %}
       <h1>this is tux</h1>
    {% else %}
       <h1>sorry!</h1>
    {% endif %}
    </body>    
</html>

网页上印刷的内容:

TUX

对不起!

如果我想使用{% ifequal %}标签呢? 应该使用什么语法?我试过这个:

{% ifequal {{items}} 'tux' %}

它变成了解析错误,我也试过了:

{% ifequal items 'tux' %}

但结果又是:

TUX

对不起!

1 个答案:

答案 0 :(得分:5)

你不能这样使用它:{% if 'tux' in items %},因为items是一个对象。 请改用{% if 'tux' in items.name %}。 在{{items}}的情况下显示“tux”的原因是您的模型将name字段作为unicode表示返回。