0Pricing
DevOps Bootcamp · Lezione

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

  1. Il modulo template e i file .j2
  2. Variabili ed espressioni in Jinja2
  3. Loop e blocchi if nei template
  4. Filtri: default, join e upper
← Torna a DevOps Bootcamp