Muuttujat ja lausekkeet Jinja2:ssa
Viekää arvoja malliin.
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. ✨
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
- template-moduuli ja .j2-tiedostot
- Muuttujat ja lausekkeet Jinja2:ssa
- Silmukat ja if-lohkot malleissa
- Suodattimet: default, join ja upper