Ansible Academy · Lektion

Variabler & udtryk i Jinja2

Indsæt værdier i templaten.

Lektion 2 af 413 trin

Variabler & udtryk i Jinja2 er en gratis Ansible Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Ansible Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Ansible Academy-kurset indeholder 4 lektioner i alt.

Variabler i skabeloner

Alle variabler, der er tilgængelige for din playbook, er også tilgængelige i skabelonen. Sæt blot navnet mellem {{ }} for at udskrive værdien. 🌟

server_name {{ domain }};
worker_processes {{ cpu_count }};

Adgang til ordbogsnøgler

For en ordbogsvariabel kan du hente en nøgle med punktum- eller kantparentesnotation. Både db.host og db['host'] returnerer den samme værdi.

host = {{ db.host }}
port = {{ db['port'] }}

Indeksering af en liste

Vælg et element fra en liste ud fra dets position, hvor optællingen starter ved nul. {{ servers[0] }} giver dig det første element.

primary = {{ servers[0] }}
backup = {{ servers[1] }}

Brug Ansible-fakta

Indsamlede fakta er bare variabler, så skabeloner kan også læse dem. ansible_hostname indsætter værts eget navn i filen.

# This host is {{ ansible_hostname }}
bind {{ ansible_default_ipv4.address }}

Matematik i udtryk

Jinja2 udfører aritmetik inde i klammerne. Du kan beregne en værdi i stedet for at hardkode den, f.eks. fordoble antallet af arbejdere.

max_workers {{ cpu_count * 2 }}

Sammenkædning af strenge

Sammenføj strenge med operatoren ~. Den limer dele sammen uanset deres type, i modsætning til plusoperatoren, som er numerisk.

url = http://{{ host ~ ':' ~ port }}

Sammenligningsudtryk

Udtryk kan også teste ting. Sammenligninger som cpu_count > 4 returnerer sandt eller falsk, så de kan bruges senere i logikken.

{{ http_port == 443 }}
{{ replicas >= 3 }}

Kommentarer i skabeloner

Sæt noter til dig selv mellem {# ... #}. Jinja2 fjerner dem helt, så de aldrig vises i den gengivne fil.

{# This file is managed by Ansible #}
listen {{ http_port }};

Udefinerede variabler giver fejl

Som standard stopper en henvisning til en variabel, der ikke findes, afviklingen med en fejl om en udefineret variabel. Jinja2 er med vilje streng.

Sæt citationstegn omkring strenge med omhu

En bogstavelig streng i et udtryk skal have citationstegn. Uden dem behandler Jinja2 prod som et variabelnavn og ikke som teksten prod.

{{ 'production' if env == 'prod' else 'staging' }}

Tre slags klammer

Husk de tre varianter: {{ }} udskriver en værdi, {% %} kører logik, og {# #} indeholder en kommentar. Hver variant har sin egen opgave.

Hurtigt tjek

Du vil have en skabelon til at udskrive den værdi, der er gemt i en variabel. Hvilken afgrænser bruges til at udskrive den?

Opsummering

Du kan nu læse variabler, fakta, ordbogsnøgler og listeelementer i skabeloner, udføre matematik, sammenføje strenge og tilføje kommentarer. Udtryk giver konfigurationen liv. ✨

Gratis at komme i gang

Lær YAML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Variabler & udtryk i Jinja2” gratis?

Ja — hele teksten til “Variabler & udtryk i Jinja2” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Ansible Academy-kurset, skal du opgradere til CoddyKit PRO. Ansible Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Variabler & udtryk i Jinja2”?

Indsæt værdier i templaten. Du øver dig i Ansible Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Ansible Academy?

Der kræves ingen tidligere erfaring. Ansible Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Variabler & udtryk i Jinja2”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Ansible Academy-lektion?

Ja. Alle Ansible Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Modulet template & .j2-filer
  2. Variabler & udtryk i Jinja2
  3. Loops & if-blokke i templates
  4. Filtre: default, join & upper
← Tilbage til Ansible Academy