Wie kann ich eine for-Schleife in Jinja2 brechen?
Wie kann ich ausbrechen aus einer Schleife in jinja2?
mein code ist so:
<a href="#">
{% for page in pages if page.tags['foo'] == bar %}
{{page.title}}
{% break %}
{% endfor %}
</a>
Habe ich mehr als eine Seite, die an diesem Zustand, und ich möchte die Schleife beenden, sobald die Bedingung erfüllt wurde.
InformationsquelleAutor der Frage Taxellool | 2014-03-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht verwenden
break
ist, würde man statt filter. Aus der Jinja2 Dokumentation auf{% %}
:In Ihrem Fall, aber Sie scheinen nur müssen die ersten element; nur filter und wählen Sie die erste:
Dieser filtert die Liste mit den
selectattr()
- filterdas Ergebnis wird an den- filter.
Den
selectattr()
filter erzeugt einen iterator, so mitfirst
hier nur die Iteration über die Eingabe bis zum ersten passenden element, und nicht weiter.InformationsquelleAutor der Antwort Martijn Pieters
Pause und Weiter Hinzugefügt werden können, Jinja2 mit Hilfe der loop-Steuerungen-Erweiterung.
Jinja-Loop-Steuerung
Fügen Sie einfach die Erweiterung der jinja-Umgebung.
als pro sb32134 Kommentar
InformationsquelleAutor der Antwort oneklc
Aber wenn Sie aus irgendeinem Grund brauchen eine Schleife, können Sie den loop-index-inside-loop-block mit "Schleife".erste":
InformationsquelleAutor der Antwort Nikolay Bystritskiy