Schleifen und if-Blöcke in Templates
Erzeugen Sie wiederholte Konfigurationsabschnitte.
Schleifen und if-Blöcke in Templates ist eine kostenlose Ansible Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ansible Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.
Logik steckt in {% %}
Neben der Ausgabe von Werten führt Jinja2 Steuerungslogik innerhalb der Tags {% %} aus. So kann eine Vorlage viele Zeilen erzeugen. 🔁
Eine einfache for-Schleife
Verwenden Sie eine for-Schleife, um Zeilen für die Elemente einer Liste zu wiederholen. Jedes Element erzeugt einen weiteren Block gerenderten Textes.
{% for host in backends %}
server {{ host }};
{% endfor %}Blöcke immer schließen
Jeder öffnende Tag benötigt einen schließenden: endfor beendet eine Schleife, genauso wie endif eine Bedingung beendet. Fehlt der Abschluss, schlägt das Rendern fehl.
Eine Schleife über ein Wörterbuch
Durchlaufen Sie die Schlüssel-Wert-Paare eines Wörterbuchs mit .items(). So können Sie jeden Schlüssel und Wert erfassen und eine strukturierte Konfiguration erzeugen.
{% for key, val in settings.items() %}
{{ key }} = {{ val }}
{% endfor %}Die Variable loop
Innerhalb einer Schleife stellt Jinja2 loop.index für die aktuelle Nummer bereit. Außerdem sind loop.first und loop.last praktische boolesche Werte.
{% for s in servers %}
server{{ loop.index }} {{ s }};
{% endfor %}Ein einfacher if-Block
Ein if-Block rendert seinen Inhalt nur, wenn die Bedingung wahr ist. Optionale Konfiguration erscheint dadurch nur dann, wenn sie benötigt wird.
{% if enable_ssl %}
ssl on;
{% endif %}if, elif und else
Verketten Sie Alternativen mit elif und einem abschließenden else. Genau ein Zweig wird gerendert, wie in Python.
{% if env == 'prod' %}
level = warn
{% else %}
level = debug
{% endif %}Bedingungen innerhalb von Schleifen
Verschachteln Sie ein if innerhalb eines for, um nur passende Elemente zu rendern, etwa indem Sie deaktivierte Server in einem Pool überspringen.
{% for h in hosts %}
{% if h.enabled %}
server {{ h.ip }};
{% endif %}
{% endfor %}Leerraum steuern
Schleifen können leere Zeilen hinterlassen. Ein Bindestrich wie {%- -%} entfernt umgebenden Leerraum und sorgt für eine saubere Ausgabe.
{%- for h in hosts -%}
{{ h }}
{%- endfor -%}Das else einer for-Schleife
Eine for-Schleife kann ein else enthalten, das nur ausgeführt wird, wenn die Liste leer war – ideal für eine sinnvolle Fallback-Zeile.
{% for h in backends %}
server {{ h }};
{% else %}
# no backends defined
{% endfor %}Ausgabe- und Logik-Tags
Halten Sie sie auseinander: {{ }} gibt einen Wert aus, während {% %} den Ablauf steuert, selbst aber nichts ausgibt.
Kurzer Check
Sie möchten für jeden Host in einer Liste eine Konfigurationszeile wiederholen. Welcher Tag beginnt diese Schleife?
Zusammenfassung
Sie können jetzt mit for Schleifen erstellen, mit if verzweigen, auf loop.index zugreifen, Blöcke verschachteln und Leerraum entfernen. Eine einzige Vorlage schreibt nun dynamische Konfiguration. ✨
Häufig gestellte Fragen
Ist die Lektion „Schleifen und if-Blöcke in Templates“ kostenlos?
Ja — der vollständige Text von „Schleifen und if-Blöcke in Templates“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ansible Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Schleifen und if-Blöcke in Templates“?
Erzeugen Sie wiederholte Konfigurationsabschnitte. Du übst Ansible Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Ansible Academy zu starten?
Keine Vorkenntnisse erforderlich. Ansible Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Schleifen und if-Blöcke in Templates“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Ansible Academy-Lektion Code schreiben und ausführen?
Ja. Jede Ansible Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Das template-Modul und .j2-Dateien
- Variablen und Ausdrücke in Jinja2
- Schleifen und if-Blöcke in Templates
- Filter: default, join und upper