0Pricing
DevOps Bootcamp · Lekcja

Pętle i bloki if w szablonach

Generowanie powtarzających się sekcji konfiguracji.

Pętle i bloki if w szablonach to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Logika znajduje się w {% %}

Poza wyświetlaniem wartości Jinja2 wykonuje logikę sterującą wewnątrz znaczników {% %}. Dzięki temu jeden szablon może generować wiele wierszy. 🔁

Podstawowa pętla for

Użyj pętli for, aby powtarzać wiersze dla elementów listy. Każdy element generuje kolejny blok wyrenderowanego tekstu.

{% for host in backends %}
server {{ host }};
{% endfor %}

Zawsze zamykaj bloki

Każdy znacznik otwierający wymaga znacznika zamykającego: endfor kończy pętlę, podobnie jak endif kończy warunek. Pominięcie znacznika zamykającego uniemożliwia renderowanie.

Iterowanie po słowniku

Przechodź po parach słownika za pomocą .items(), przechwytując każdy klucz i wartość, aby renderować uporządkowaną konfigurację.

{% for key, val in settings.items() %}
{{ key }} = {{ val }}
{% endfor %}

Zmienna loop

Wewnątrz pętli Jinja2 udostępnia loop.index z bieżącym numerem iteracji oraz loop.first i loop.last jako przydatne wartości logiczne.

{% for s in servers %}
server{{ loop.index }} {{ s }};
{% endfor %}

Prosty blok if

Blok if renderuje swoją zawartość tylko wtedy, gdy warunek jest prawdziwy, dzięki czemu opcjonalna konfiguracja pojawia się wyłącznie wtedy, gdy powinna.

{% if enable_ssl %}
ssl on;
{% endif %}

if, elif i else

Łącz kolejne możliwości za pomocą elif i końcowego else. Renderowana jest dokładnie jedna gałąź, podobnie jak w Pythonie.

{% if env == 'prod' %}
level = warn
{% else %}
level = debug
{% endif %}

Warunki wewnątrz pętli

Umieść if wewnątrz for, aby renderować tylko pasujące elementy, na przykład pomijać wyłączone serwery w puli.

{% for h in hosts %}
{% if h.enabled %}
server {{ h.ip }};
{% endif %}
{% endfor %}

Kontrola białych znaków

Pętle mogą pozostawiać puste wiersze. Myślnik, taki jak {%- -%}, usuwa otaczające białe znaki, zapewniając uporządkowany wynik.

{%- for h in hosts -%}
{{ h }}
{%- endfor -%}

else w pętli for

Pętla for może zawierać else, które wykona się tylko wtedy, gdy lista była pusta — to idealne miejsce na rozsądny wiersz zastępczy.

{% for h in backends %}
server {{ h }};
{% else %}
# no backends defined
{% endfor %}

Znaczniki wyświetlania a logika

Należy je rozróżniać: {{ }} wyświetla wartość, natomiast {% %} steruje przepływem, ale samo niczego nie wyświetla.

Szybki test

Trzeba powtórzyć wiersz konfiguracji dla każdego hosta na liście. Który znacznik rozpoczyna tę pętlę?

Podsumowanie

Można już tworzyć pętle za pomocą for, rozgałęziać logikę za pomocą if, odczytywać loop.index, zagnieżdżać bloki i usuwać białe znaki. Jeden szablon zapisuje teraz dynamiczną konfigurację. ✨

Często zadawane pytania

Czy lekcja „Pętle i bloki if w szablonach” jest bezpłatna?

Tak — pełny tekst „Pętle i bloki if w szablonach” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Pętle i bloki if w szablonach”?

Generowanie powtarzających się sekcji konfiguracji. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Pętle i bloki if w szablonach”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Moduł template i pliki .j2
  2. Zmienne i wyrażenia w Jinja2
  3. Pętle i bloki if w szablonach
  4. Filtry: default, join i upper
← Powrót do DevOps Bootcamp