Ansible Academy · Pelajaran

Pemboleh Ubah & Ungkapan dalam Jinja2

Masukkan nilai ke dalam templat.

Pelajaran 2 daripada 413 langkah

Pemboleh Ubah & Ungkapan dalam Jinja2 ialah pelajaran Ansible Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ansible Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ansible Academy merangkumi sejumlah 4 pelajaran.

Pemboleh Ubah Dalam Templat

Setiap pemboleh ubah yang tersedia untuk play Anda juga tersedia dalam templat. Balut sahaja namanya dengan {{ }} untuk mencetak nilainya. 🌟

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

Mengakses Kunci Kamus

Untuk pemboleh ubah kamus, akses kunci dengan notasi titik atau kurungan. Kedua-dua db.host dan db['host'] mengembalikan nilai yang sama.

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

Mengindeks Senarai

Pilih satu item daripada senarai berdasarkan kedudukannya, dengan pengiraan bermula dari sifar. {{ servers[0] }} memberikan entri pertama.

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

Menggunakan Fakta Ansible

Fakta yang dikumpulkan hanyalah pemboleh ubah, jadi templat juga boleh membacanya. ansible_hostname memasukkan nama hos itu sendiri ke dalam fail.

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

Matematik Dalam Ungkapan

Jinja2 melakukan operasi aritmetik di dalam kurungan berombak. Anda boleh mengira nilai dan bukannya menetapkannya secara tetap, seperti menggandakan bilangan pekerja.

max_workers {{ cpu_count * 2 }}

Penggabungan Rentetan

Gabungkan rentetan dengan pengendali ~. Pengendali ini melekatkan bahagian-bahagian bersama tanpa mengira jenisnya, berbeza daripada tambah yang bersifat angka.

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

Ungkapan Perbandingan

Ungkapan juga boleh menguji sesuatu. Perbandingan seperti cpu_count > 4 mengembalikan benar atau palsu untuk digunakan kemudian dalam logik.

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

Komen Dalam Templat

Balut nota untuk diri sendiri dengan {# ... #}. Jinja2 membuangnya sepenuhnya, jadi nota itu tidak akan muncul dalam fail yang diproses.

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

Pemboleh Ubah Tidak Ditakrifkan Menyebabkan Kegagalan

Secara lalai, merujuk kepada pemboleh ubah yang tidak wujud akan menghentikan play dengan ralat undefined variable. Jinja2 sengaja bersifat ketat.

Petik Rentetan Dengan Teliti

Rentetan literal di dalam ungkapan memerlukan tanda petik. Tanpa tanda petik, Jinja2 menganggap prod sebagai nama pemboleh ubah, bukan teks prod.

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

Tiga Bentuk Kurungan Berombak

Ingat tiga bentuk ini: {{ }} mencetak nilai, {% %} menjalankan logik, dan {# #} mengandungi komen. Setiap satu mempunyai tugas tersendiri.

Semakan Pantas

Anda mahu templat mengeluarkan nilai yang disimpan dalam pemboleh ubah. Pembatas yang manakah mencetaknya?

Imbas Kembali

Kini Anda boleh membaca pemboleh ubah, fakta, kunci kamus dan item senarai dalam templat, melakukan matematik, menggabungkan rentetan serta menambah komen. Ungkapan menghidupkan konfigurasi. ✨

Percuma untuk bermula

Pelajari YAML dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Pemboleh Ubah & Ungkapan dalam Jinja2” percuma?

Ya — teks penuh “Pemboleh Ubah & Ungkapan dalam Jinja2” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Ansible Academy, tingkat taraf kepada CoddyKit PRO. Kursus Ansible Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pemboleh Ubah & Ungkapan dalam Jinja2”?

Masukkan nilai ke dalam templat. Anda berlatih Ansible Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Ansible Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Ansible Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Pemboleh Ubah & Ungkapan dalam Jinja2” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ansible Academy ini?

Ya. Setiap pelajaran Ansible Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Modul template & Fail .j2
  2. Pemboleh Ubah & Ungkapan dalam Jinja2
  3. Gelung & Blok if dalam Templat
  4. Penapis: default, join & upper
← Kembali ke Ansible Academy