DevOps-bootcamp · leksjon

Variabler og uttrykk i Jinja2

Sett inn verdier i templaten.

Leksjon 2 av 413 trinn

Variabler og uttrykk i Jinja2 er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Variabler i maler

Alle variabler som er tilgjengelige i en play, er også tilgjengelige i malen. Sett bare navnet inn i {{ }} for å skrive ut verdien. 🌟

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

Få tilgang til ordboknøkler

For en ordbokvariabel hentes en nøkkel med punkt- eller hakeparentesnotasjon. Både db.host og db['host'] returnerer samme verdi.

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

Indeksering av en liste

Velg ett element fra en liste basert på plasseringen, med telling fra null. {{ servers[0] }} gir det første elementet.

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

Bruk Ansible-fakta

Innsamlede fakta er bare variabler, så maler kan også lese dem. ansible_hostname setter vertens eget navn inn i filen.

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

Matematikk i uttrykk

Jinja2 utfører aritmetikk inne i klammeparentesene. En verdi kan beregnes i stedet for å hardkodes, for eksempel ved å doble antallet arbeidere.

max_workers {{ cpu_count * 2 }}

Slå sammen strenger

Slå sammen strenger med operatoren ~. Den setter sammen deler uavhengig av typen, i motsetning til pluss, som er numerisk.

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

Sammenligningsuttrykk

Uttrykk kan også teste forhold. Sammenligninger som cpu_count > 4 returnerer true eller false for bruk i senere logikk.

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

Kommentarer i maler

Sett egne notater inn i {# ... #}. Jinja2 fjerner dem fullstendig, så de vises aldri i den gjengitte filen.

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

Udefinerte variabler gir feil

Som standard stopper en referanse til en variabel som ikke finnes, avspillingen med en undefined variable-feil. Jinja2 er med hensikt streng.

Sett strenger i anførselstegn med omtanke

En bokstavelig streng i et uttrykk må stå i anførselstegn. Uten anførselstegn tolker Jinja2 prod som et variabelnavn, ikke som teksten prod.

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

Tre typer klammeparenteser

Husk trioen: {{ }} skriver ut en verdi, {% %} kjører logikk, og {# #} inneholder en kommentar. Hver variant har sin egen oppgave.

Rask sjekk

En mal skal skrive ut verdien som er lagret i en variabel. Hvilken avgrensning skriver den ut?

Oppsummering

Du kan nå lese variabler, fakta, ordboknøkler og listeelementer i maler, utføre matematikk, slå sammen strenger og legge til kommentarer. Uttrykk gir konfigurasjonen liv. ✨

Gratis å komme i gang

Lær deg DevOps-bootcamp med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Variabler og uttrykk i Jinja2» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Variabler og uttrykk i Jinja2», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva lærer jeg i «Variabler og uttrykk i Jinja2»?

Sett inn verdier i templaten. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Variabler og uttrykk i Jinja2»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Modulen template og .j2-filer
  2. Variabler og uttrykk i Jinja2
  3. Løkker og if-blokker i templater
  4. Filtre: default, join og upper
← Tilbake til DevOps-bootcamp