DevOps-bootcamp · Oppitunti

Muuttujat ja lausekkeet Jinja2:ssa

Viekää arvoja malliin.

Oppitunti 2/413 vaihetta

Muuttujat ja lausekkeet Jinja2:ssa on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Muuttujat templateissa

Kaikki playbookin käytettävissä olevat muuttujat ovat käytettävissä myös templatessa. Käärikää muuttujan nimi {{ }}-merkkeihin tulostaaksenne sen arvon. 🌟

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

Sanakirja-avainten käyttäminen

Sanakirjamuuttujan avaimeen pääsee piste- tai hakasuljenotaatiolla. Sekä db.host että db['host'] palauttavat saman arvon.

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

Luettelon indeksointi

Valitkaa luettelosta yksi alkio sen sijainnin perusteella laskemalla alkaen nollasta. {{ servers[0] }} antaa ensimmäisen alkion.

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

Ansible-faktojen käyttäminen

Kerätyt faktat ovat vain muuttujia, joten myös templatet voivat lukea niitä. ansible_hostname lisää tiedostoon isännän oman nimen.

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

Laskutoimitukset lausekkeissa

Jinja2 suorittaa laskutoimituksia aaltosulkeiden sisällä. Voitte laskea arvon kiinteän arvon kirjoittamisen sijaan, esimerkiksi kaksinkertaistaa työntekijöiden määrän.

max_workers {{ cpu_count * 2 }}

Merkkijonojen yhdistäminen

Yhdistäkää merkkijonoja ~-operaattorilla. Se liittää osat yhteen niiden tyypistä riippumatta, toisin kuin numeerinen plus-operaattori.

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

Vertailulausekkeet

Lausekkeilla voidaan myös testata asioita. Vertailut, kuten cpu_count > 4, palauttavat tosi- tai epätosi-arvon myöhempää logiikkaa varten.

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

Kommentit templateissa

Kirjoittakaa omat muistiinpanonne merkintöjen {# ... #} sisään. Jinja2 poistaa ne kokonaan, joten ne eivät koskaan näy renderöidyssä tiedostossa.

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

Määrittelemättömät muuttujat aiheuttavat virheen

Oletusarvoisesti olemattomaan muuttujaan viittaaminen pysäyttää play-suorituksen undefined variable -virheeseen. Jinja2 on tarkoituksella tiukka.

Lainaa merkkijonot huolellisesti

Lausekkeen sisällä oleva literaalinen merkkijono tarvitsee lainausmerkit. Ilman niitä Jinja2 tulkitsee prod-tekstin muuttujan nimeksi eikä merkkijonoksi prod.

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

Kolmen aaltosulkumerkinnän tyypit

Muistakaa kolme merkintää: {{ }} tulostaa arvon, {% %} suorittaa logiikkaa ja {# #} sisältää kommentin. Jokaisella on oma tehtävänsä.

Pikatarkistus

Haluatte templaten tulostavan muuttujaan tallennetun arvon. Millä erotinmerkillä se tulostetaan?

Kertaus

Osaatte nyt lukea templateissa muuttujia, faktoja, sanakirja-avaimia ja luettelon alkioita, tehdä laskutoimituksia, yhdistää merkkijonoja ja lisätä kommentteja. Lausekkeet herättävät asetukset eloon. ✨

Aloita maksutta

Opi DevOps-bootcamp tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
142
Oppitunnit
568

Usein kysytyt kysymykset

Onko oppitunti ”Muuttujat ja lausekkeet Jinja2:ssa” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Muuttujat ja lausekkeet Jinja2:ssa”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Muuttujat ja lausekkeet Jinja2:ssa”?

Viekää arvoja malliin. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Muuttujat ja lausekkeet Jinja2:ssa”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä DevOps-bootcamp-oppitunnilla?

Kyllä. Jokainen DevOps-bootcamp-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. template-moduuli ja .j2-tiedostot
  2. Muuttujat ja lausekkeet Jinja2:ssa
  3. Silmukat ja if-lohkot malleissa
  4. Suodattimet: default, join ja upper
← Takaisin: DevOps-bootcamp