Ich muss einen Container <div>
für meine Nachrichten nur erstellen, wenn es mindestens eine Nachricht mit level == DEFAULT_MESSAGE_LEVELS.ERROR.
(Dann werde ich durch meine Nachrichten iterieren und rendern die mit Fehler-Tags).Wie für die Existenz eines bestimmten Levels in Django Nachrichten
In Pseudo-Code, so etwas wie diese:
{% for message in messages %}
{% if 'error' in message.tags %}
<div id="error-container">
{% break %} <!-- break doesn't exist -->
{% endif %}
{% endfor %}
Was ist der sauberste Weg, dies in der Vorlage zu tun? Ich glaube nicht, dass die Templating-Sprache expressiv genug ist, um die Schleife durch messages
zu brechen, wenn sie eine mit einem Fehler-Tag findet. Gibt es eine Möglichkeit firstof
oder |first
Filter zu verwenden, um die <div>
nur beim ersten Auftreten einer error
Nachricht Tag zu erstellen?
Danke, ich denke, dies ist die beste Trennung von Geschäfts- und Präsentationslogik, und ich werde die "get_errors_only" auch in vielen anderen Vorlagen wiederverwenden. – Escher