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

nil*_*far 2 python django django-templates

views.py:

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

main.html中:

<html>    
    <body>
    {{ items }}
    <hr>
    {% if 'tux' in items %}
       <h1>this is tux</h1>
    {% else %}
       <h1>sorry!</h1>
    {% endif %}
    </body>    
</html>
Run Code Online (Sandbox Code Playgroud)

网页上印有什么:

晚礼服


抱歉!

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

{% ifequal {{items}} 'tux' %}
Run Code Online (Sandbox Code Playgroud)

并且它变成了解析错误,我也试过这个:

{% ifequal items 'tux' %}
Run Code Online (Sandbox Code Playgroud)

但结果又来了:

晚礼服


抱歉!

che*_*1st 5

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