Variabili ed espressioni in Jinja2
Inserisca valori nel template
Variabili ed espressioni in Jinja2 è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.
Variabili nei template
Ogni variabile disponibile nel play è disponibile anche nel template. È sufficiente racchiuderne il nome in {{ }} per stamparne il valore. 🌟
server_name {{ domain }};
worker_processes {{ cpu_count }};Accedere alle chiavi di un dizionario
Per una variabile dizionario, acceda a una chiave usando la notazione con il punto o quella con le parentesi quadre. Sia db.host sia db['host'] restituiscono lo stesso valore.
host = {{ db.host }}
port = {{ db['port'] }}Indicizzare una lista
Scelga un elemento di una lista in base alla sua posizione, contando da zero. {{ servers[0] }} restituisce la prima voce.
primary = {{ servers[0] }}
backup = {{ servers[1] }}Usare i facts di Ansible
I facts raccolti sono semplicemente variabili, quindi anche i template possono leggerli. ansible_hostname inserisce nel file il nome dell'host stesso.
# This host is {{ ansible_hostname }}
bind {{ ansible_default_ipv4.address }}Calcoli nelle espressioni
Jinja2 esegue operazioni aritmetiche all'interno delle parentesi graffe. Può calcolare un valore invece di inserirlo direttamente, ad esempio raddoppiando il numero di worker.
max_workers {{ cpu_count * 2 }}Concatenazione di stringhe
Unisca le stringhe con l'operatore ~. Questo concatena parti indipendentemente dal loro tipo, a differenza dell'operatore plus, che è numerico.
url = http://{{ host ~ ':' ~ port }}Espressioni di confronto
Le espressioni possono anche eseguire verifiche. I confronti come cpu_count > 4 restituiscono vero o falso, da usare in seguito nella logica.
{{ http_port == 443 }}
{{ replicas >= 3 }}Commenti nei template
Racchiuda le annotazioni personali in {# ... #}. Jinja2 le rimuove completamente, quindi non compaiono mai nel file risultante.
{# This file is managed by Ansible #}
listen {{ http_port }};Le variabili non definite causano errori
Per impostazione predefinita, fare riferimento a una variabile inesistente interrompe il play con un errore di variabile non definita. Jinja2 è volutamente rigoroso.
Racchiudere con attenzione le stringhe tra virgolette
Una stringa letterale all'interno di un'espressione richiede le virgolette. Senza di esse Jinja2 interpreta prod come nome di una variabile, non come il testo prod.
{{ 'production' if env == 'prod' else 'staging' }}Tre tipi di parentesi
Ricordi i tre tipi: {{ }} stampa un valore, {% %} esegue la logica e {# #} contiene un commento. Ognuno ha il proprio scopo.
Verifica rapida
Vuole che un template restituisca il valore memorizzato in una variabile. Quale delimitatore lo stampa?
Riepilogo
Ora può leggere nei template variabili, facts, chiavi di dizionari ed elementi di liste, eseguire calcoli, concatenare stringhe e aggiungere commenti. Le espressioni danno vita alla configurazione. ✨
Domande Frequenti
La lezione «Variabili ed espressioni in Jinja2» è gratuita?
Sì — il testo completo di «Variabili ed espressioni in Jinja2» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.
Cosa imparerò in «Variabili ed espressioni in Jinja2»?
Inserisca valori nel template Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Variabili ed espressioni in Jinja2»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Il modulo template e i file .j2
- Variabili ed espressioni in Jinja2
- Loop e blocchi if nei template
- Filtri: default, join e upper