Python Django {% if usuario.username == user %} не работает :(

Мне нужна помощь. Я хочу перечислить всех пользователей, избегая логина пользователя.

если я печатаю user= juan если я напечатаю usuario.username=juan Есть одна и та же строка

{% if usuario.username == user %}
 Nothing
{% else %}
<tr><td>
{{usuario.username}}
<img src="{% static 'assets/img/icono_writeMSJ.png' %}"     height="30px">
</td>
</tr>
{% endif %}

если я изменю, например

{% if usuario.username == 'juan' %}
 Nothing
{% else %}
<tr><td>
{{usuario.username}}
<img src="{% static 'assets/img/icono_writeMSJ.png' %}"     height="30px">
</td>
</tr>
{% endif %}

это работает нормально, почему? :(

)

user - это объект. Стрингизируйте его. Это должно сработать

{% if usuario.username == user|stringformat:"s" %}

======== исключен текущий вошедший пользователь ========

========= in HTML ==============

<h3>All Users list</h3>

{% if  user.is_authenticated  %}
     <ul>
          {% for i in all_users %}
               <li>{{i.username}}</li>
          {% endfor %}
     </ul>
{% else %}
     <h4>Please login first</h4>


======= in views.py ===========

def HomeView(request):
    all_users = User.objects.all().exclude(id=request.user.id).values('username')
    return render(request,'index.html',{'all_users':all_users})

Наконец, проблема заключалась в том, что пользователь - это объект. По этой причине нельзя сравнивать с этой точки зрения.

{% if usuario.username == user %}

правильным способом является

{% if usuario.username == user.username %}

>
Вернуться на верх