it-swarm.com.ru

Шаблон сравнения Django

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

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

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

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

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

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

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

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

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

Кто-нибудь может мне помочь с этим вопросом?

29
justin

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

18
Ignacio Vazquez-Abrams

Попробуй это:

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

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

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

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

{% if name != "someone" %}
   ............
   ............
{% endif %}
31
Nauman Tariq
{% ifequal material.unit 'U' %}
    <p>are equals!<p/>
{% endifequal %}
0
hopieman