Variabler & udtryk i Jinja2
Indsæt værdier i templaten.
Variabler & udtryk i Jinja2 er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-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. ✨
Lær Intensiv DevOps-uddannelse 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
- 142
- Lektioner
- 568
Ofte stillede spørgsmål
Er lektionen “Variabler & udtryk i Jinja2” gratis?
Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Variabler & udtryk i Jinja2”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-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 Intensiv DevOps-uddannelse 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å Intensiv DevOps-uddannelse?
Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse 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 Intensiv DevOps-uddannelse-lektion?
Ja. Alle Intensiv DevOps-uddannelse-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
- Modulet template & .j2-filer
- Variabler & udtryk i Jinja2
- Loops & if-blokke i templates
- Filtre: default, join & upper