Je suis nouveau avec Django. Je suis coincé avec le problème de la comparaison de chaîne dans le modèle.
J'ai utilisé la balise ifnotequal pour comparer la chaîne. Mais ça ne fonctionne pas.
J'ai essayé de sortir la variable:
{{ request.user.username }}
{{ article.creator }}
Ici je compare:
{% ifnotequal request.user.username article.creator %}
{# output something #}
{% endifnotequal %}
Mais quand je fais le hardcode: ça marche.
{% ifnotequal "justin" "mckoy" %}
{# output something #}
{% endifnotequal %}
quel est le problème? Le article.creator
provient de la base de données et le user.username
provient de la demande.
Quelqu'un peut-il m'aider avec ce problème?
article.creator
est une User
et request.user.username
est une chaîne. Essayez de comparer request.user
à la place.
Essaye ça:
{% ifnotequal article.creator|stringformat:"s" request.user.username %}
Pour comparer les chaînes dans l'utilisation du modèle
{% if name == "someone" %}
............
............
{% endif %}
et pour pas égal
{% if name != "someone" %}
............
............
{% endif %}
{% ifequal material.unit 'U' %}
<p>are equals!<p/>
{% endifequal %}