Şablonlarda Döngüler ve if Blokları
Tekrarlanan yapılandırma bölümleri oluşturun.
Şablonlarda Döngüler ve if Blokları, CoddyKit'te ücretsiz bir Ansible Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ansible Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ansible Academy kursu toplamda 4 dersten oluşur.
Mantık {% %} İçinde Yaşar
Jinja2, değerleri yazdırmanın ötesinde denetim mantığını {% %} etiketleri içinde çalıştırır. Tek bir şablonun birçok satır üretmesini sağlayan şey budur. 🔁
Basit Bir for Döngüsü
Bir liste üzerinde satırları yinelemek için for döngüsü kullanın. Her öğe, işlenmiş metinden bir blok daha üretir.
{% for host in backends %}
server {{ host }};
{% endfor %}Bloklarınızı Her Zaman Kapatın
Her açılış etiketinin bir kapanış etiketi olmalıdır: endfor bir döngüyü, endif ise bir koşulu bitirir. Kapatmayı unutmak işlemeyi bozar.
Bir Sözlük Üzerinde Döngü Kurma
Yapılandırılmış bir yapılandırma oluşturmak için sözlüğün çiftleri arasında .items() ile dolaşarak her anahtarı ve değeri yakalayın.
{% for key, val in settings.items() %}
{{ key }} = {{ val }}
{% endfor %}loop Değişkeni
Bir döngünün içinde Jinja2, geçerli sayıyı gösteren loop.index değerini ve kullanışlı doğru-yanlış değerleri olarak loop.first veya loop.last değişkenlerini sağlar.
{% for s in servers %}
server{{ loop.index }} {{ s }};
{% endfor %}Basit Bir if Bloğu
Bir if bloğu, gövdesini yalnızca koşul doğru olduğunda işler; böylece isteğe bağlı yapılandırma yalnızca gerektiğinde görünür.
{% if enable_ssl %}
ssl on;
{% endif %}if, elif ve else
Seçenekleri elif ve son bir else ile birbirine bağlayın. Python'da olduğu gibi yalnızca bir dal işlenir.
{% if env == 'prod' %}
level = warn
{% else %}
level = debug
{% endif %}Döngülerin İçindeki Koşullar
Yalnızca eşleşen öğeleri işlemek için bir if bloğunu for bloğunun içine yerleştirin; örneğin bir havuzdaki devre dışı sunucuları atlayın.
{% for h in hosts %}
{% if h.enabled %}
server {{ h.ip }};
{% endif %}
{% endfor %}Boşluk Denetimi
Döngüler geride boş satırlar bırakabilir. {%- -%} gibi bir kısa çizgi, düzenli bir çıktı için çevredeki boşlukları kırpar.
{%- for h in hosts -%}
{{ h }}
{%- endfor -%}for Döngüsünün else Bölümü
Bir for döngüsünde, yalnızca liste boş olduğunda çalışan bir else bölümü bulunabilir; bu, yerinde bir yedek satır için idealdir.
{% for h in backends %}
server {{ h }};
{% else %}
# no backends defined
{% endfor %}Yazdırma ve Mantık Etiketleri
Aralarındaki farkı unutmayın: {{ }} bir değer üretirken {% %} akışı denetler ancak kendi başına hiçbir şey yazdırmaz.
Hızlı Kontrol
Bir listedeki her ana makine için bir yapılandırma satırını yinelemek istiyorsunuz. Bu döngüyü hangi etiket başlatır?
Özet
Artık for ile döngü kurabilir, if ile dallanabilir, loop.index değerini okuyabilir, bunları iç içe yerleştirebilir ve boşlukları kırpabilirsiniz. Artık tek bir şablon dinamik yapılandırma yazıyor. ✨
Sıkça Sorulan Sorular
“Şablonlarda Döngüler ve if Blokları” dersi ücretsiz mi?
Evet — “Şablonlarda Döngüler ve if Blokları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ansible Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ansible Academy kursu toplamda 4 dersten oluşur.
“Şablonlarda Döngüler ve if Blokları” dersinde ne öğreneceğim?
Tekrarlanan yapılandırma bölümleri oluşturun. Ansible Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ansible Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ansible Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Şablonlarda Döngüler ve if Blokları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ansible Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ansible Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- template Modülü ve .j2 Dosyaları
- Jinja2'de Değişkenler ve İfadeler
- Şablonlarda Döngüler ve if Blokları
- Filtreler: default, join ve upper