Подтвердить что ты не робот

Строка сравнения шаблонов Django

Я новичок в django. Я застрял в проблеме сравнения строки в шаблоне.

Я использую ifnotequal tag для сравнения строки. Но он не работает.

Я пытаюсь вывести переменную:

{{ request.user.username }} 
{{ article.creator }}

Здесь я сравниваю:

{% ifnotequal request.user.username article.creator %}
    {# output something #}
{% endifnotequal %}

Но когда я делаю жесткий код: он работает.

{% ifnotequal "justin" "mckoy" %}
    {# output something #}
{% endifnotequal %}

В чем проблема? article.creator поступает из базы данных, а user.username - из запроса.

Может ли кто-нибудь помочь мне с этой проблемой?

4b9b3361

Ответ 1

article.creator - это User, а request.user.username - строка. Попробуйте сравнить request.user.

Ответ 2

Попробуйте следующее:

{% ifnotequal article.creator|stringformat:"s" request.user.username %}

Ответ 3

Для сравнения строк в шаблоне используйте

{% if name == "someone" %}
   ............
   ............
{% endif %}

и для не равных

{% if name != "someone" %}
   ............
   ............
{% endif %}