Ich bin neu bei Django. Ich stecke bei dem Problem, String in der Vorlage zu vergleichen.
Ich habe das ifnotequal-Tag zum Vergleichen von Zeichenketten verwendet. Aber es funktioniert nicht.
Ich habe versucht, die Variable auszugeben:
{{ request.user.username }}
{{ article.creator }}
Hier vergleiche ich:
{% ifnotequal request.user.username article.creator %}
{# output something #}
{% endifnotequal %}
Aber wenn ich den Hardcode mache: Es funktioniert.
{% ifnotequal "justin" "mckoy" %}
{# output something #}
{% endifnotequal %}
worin besteht das Problem? Der article.creator
kommt aus der Datenbank und der user.username
stammt aus der Anfrage.
Kann mir jemand bei dieser Ausgabe helfen?
article.creator
ist eine User
und request.user.username
ist eine Zeichenfolge. Vergleichen Sie stattdessen request.user
.
Versuche dies:
{% ifnotequal article.creator|stringformat:"s" request.user.username %}
Für Stringvergleich bei der Verwendung von Vorlagen
{% if name == "someone" %}
............
............
{% endif %}
und für nicht gleich
{% if name != "someone" %}
............
............
{% endif %}
{% ifequal material.unit 'U' %}
<p>are equals!<p/>
{% endifequal %}