Python - Templating (Versi Melayu)

Selamat datang, pemrogram yang beraspiration! Hari ini, kita akan menyelam ke atas dunia yang menarik tempating dalam Python. Sebagai guru sains komputer yang ramah di kampung anda, saya di sini untuk mengajar anda melalui perjalanan ini, langkah demi langkah. Jangan khawatir jika anda baru dalam pemrograman – kita akan mula dari asas dan akan naik peringkat. Jadi, ambil secawan kopi (atau teh, jika itu yang anda suka), dan mari kita mula!

Python - Templating

Templating dalam Python

Templating adalah seperti memiliki rakit untuk teks anda. Bayangkan anda menulis surat kepada rakannya berbilang, tetapi anda mahu untuk memersonalisasi setiap satu. Daripada menulis keseluruhan surat dari atas setiap kali, anda boleh memiliki templat dengan rakit untuk nama dan butiran khusus. Itulah esen yang templating lakukan dalam pemrograman!

Dalam Python, templating membolehkan kita untuk membuat kandungan dinamik dengan memisahkan struktur output kita dari data yang mengisiinya. Ini adalah sangat berguna untuk menghasilkan HTML, e-mel, laporan, atau mana-mana output teks yang mengikuti corak konsisten tetapi perlu untuk diisi dengan data berbeza setiap kali.

Templat Teks dalam Python

Mari kita mula dengan bentuk paling mudah templating dalam Python: templat teks. Ini adalah sebahagian daripada pustaka piawaian Python, jadi kita tidak perlu untuk memasang apa-apa tambahan.

Berikut adalah contoh yang simple:

from string import Template

# Membuat templat
template = Template("Helo, $name! Selamat datang ke $city.")

# Menggunakan templat
result = template.substitute(name="Alice", city="Wonderland")
print(result)

Jika anda menjalankan kod ini, anda akan lihat:

Helo, Alice! Selamat datang ke Wonderland.

Mari kita kongsi ini:

  1. Kita import kelas Template dari modul string.
  2. Kita membuat rakit teks dengan rakit ($name dan $city).
  3. Kita gunakan kaedah substitute untuk mengganti rakit ini dengan nilai sebenar.

Cantik kan? Tetapi apa jika kita mahu templat yang lebih kompleks? Itulah di mana Jinja2 datang ke tempat!

Memasang Jinja2

Jinja2 adalah enjin templating yang berkuasa untuk Python. Ia bukan sebahagian daripada pustaka piawaian, jadi kita perlu untuk memasangkannya dahulu. Jangan khawatir, ia sangat mudah!

Buka terminal atau prompt perintah anda dan taip:

pip install Jinja2

Dan hanya seperti penyihir, Jinja2 akan dipasangkan di atas sistem anda!

Membuat dan Menghasilkan Templat Jinja2

Sekarang kita telah memasang Jinja2, mari kita membuat templat yang simple dan menghasilkannya. Berikut adalah contoh:

from jinja2 import Template

# Membuat templat Jinja2
template = Template("Helo, {{ name }}! Anda ada {{ num_messages }} mesej belum dibaca.")

# Menghasilkan templat
result = template.render(name="Bob", num_messages=3)
print(result)

Ini akan output:

Helo, Bob! Anda ada 3 mesej belum dibaca.

Mari kita diseksi kod ini:

  1. Kita import kelas Template dari Jinja2.
  2. Kita membuat rakit teks dengan rakit di atas rakis ganda {{ }}.
  3. Kita gunakan kaedah render untuk mengisi rakit ini.

Tetapi Jinja2 boleh melakukan banyak lagi! Mari kita eksplor fitur lanjutan.

Fitur Lanjutan Jinja2

Jinja2 bukan hanya tentang penggantian yang simple. Ia boleh mengendalikan rakit, syarat-syarat, dan juga penyaring! Mari lihat contoh yang lebih kompleks:

from jinja2 import Template

# Membuat templat yang lebih kompleks
template = Template("""
Helo, {{ name }}!
{% if tasks %}
Tugasan anda untuk hari ini adalah:
{% for task in tasks %}
- {{ task | capitalize }}
{% endfor %}
{% else %}
Anda tidak ada tugasan untuk hari ini. Njoy masa bebas anda!
{% endif %}
""")

# Menghasilkan templat dengan data berbeza
result1 = template.render(name="Charlie", tasks=["beli rakaman", "jalan kucing", "buat kering"])
result2 = template.render(name="David", tasks=[])

print(result1)
print("\n" + "=" * 30 + "\n")
print(result2)

Ini akan output:

Helo, Charlie!
Tugasan anda untuk hari ini adalah:
- Beli rakaman
- Jalan kucing
- Buat kering

==============================
Helo, David!
Anda tidak ada tugasan untuk hari ini. Njoy masa bebas anda!

Wah, itu adalah banyak untuk diambil masuk! Mari kita kongsi ini:

  1. Kita gunakan {% if %} dan {% else %} untuk penghasilan berdasarkan syarat.
  2. Kita gunakan {% for %} untuk rakit melalui tugasan.
  3. Kita gunakan penyaring capitalize (simbol |) untuk mengkapitalkan huruf pertama setiap tugasan.

Jinja2 mempunyai banyak lagi fitur, termasuk warisann templat, makro, dan penyaring suai. Apabila anda menjadi lebih biasa dengan asas ini, saya menggalakkan anda untuk eksplor fitur lanjutan ini.

Berikut adalah jadual yang menjelaskan beberapa sintaks Jinja2 yang kita telah pelajari:

Sintaks Keterangan Contoh
{{ }} Output pembolehubah {{ name }}
{% %} Arahan (jika, untuk, dll.) {% if tasks %}
{# #} Komen (tidak ditunjukkan di output) {# Ini adalah komen #}
| Penyaring {{ task | capitalize }}

Dan itu adalah! Anda telah mengambil langkah pertama anda ke atas dunia templating Python. Ingat, seperti mempelajari mana-mana kemahiran baru, latihan membuat perfect. Cuba untuk membuat templat anda sendiri, eksperimen dengan fitur berbeza, dan yang paling penting, bersenang-senang dengan itu!

Apabila kita kongsikan, saya diingatkan dengan cerita dari zaman awal pengajaran saya. Saya ada pelajar yang kesusahan dengan templating pada awalnya, tetapi selepas berlatih dan membuat templat untuk blog peribadi dia, dia akhirnya menyukainya begitu banyak sehingga dia membina kerjaya pengembangan web yang berjaya di sekeliling itu. Siapa tahu? Ini mungkin adalah permulaan perjalanan yang menarik anda juga!

Terus koding, tetap kuroi, dan sehingga masa berikutnya, happy templating!

Credits: Image by storyset