template html dengan jinja (1)
Jinja adalah mesin template yang kuat yang terintegrasi dengan Flask. Ini memungkinkan Anda untuk membuat template HTML yang dapat digunakan untuk menghasilkan konten dinamis di aplikasi Flask Anda. Berikut adalah contoh penggunaan Jinja dalam membuat template HTML:
Buat direktori "templates" di dalam direktori proyek Flask Anda (jika belum ada).
Buat file template HTML baru di dalam direktori "templates" dengan ekstensi ".html" (misalnya, index.html).
Tulis kode HTML dalam file template Anda. Anda dapat menggunakan sintaks Jinja untuk menyisipkan variabel atau logika di dalam template. Contoh:
html
Copy code
<!-- File: templates/index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Halaman Utama</title>
</head>
<body>
<h1>Selamat datang, {{ name }}!</h1>
<p>Ini adalah halaman utama.</p>
<ul>
{% for item in items %}
<li>{{ item }}</li>
{% endfor %}
</ul>
</body>
</html>
Dalam contoh di atas, kita menggunakan sintaks {{ variable }} untuk menyisipkan nilai variabel ke dalam template. Variabel ini kemudian dapat diisi dengan nilai yang dikirimkan dari aplikasi Flask.
Kita juga menggunakan sintaks {% for %} ... {% endfor %} untuk melakukan iterasi melalui daftar items dan menampilkan setiap item dalam daftar sebagai elemen <li> dalam daftar tak-berangkai <ul>.
Di aplikasi Flask Anda, Anda perlu mengimpor kelas render_template dari modul flask. Kemudian, dalam fungsi view Anda, gunakan render_template() untuk merender template HTML dan mengirimkannya sebagai respons. Contoh:
python
Copy code
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
name = 'John Doe'
items = ['Apel', 'Jeruk', 'Mangga']
return render_template('index.html', name=name, items=items)
if __name__ == '__main__':
app.run()
Dalam contoh di atas, kita menggunakan render_template('index.html', name=name, items=items) untuk merender template index.html dan mengirimkan nilai name dan items ke template sebagai argumen kata kunci. Nilai-nilai ini akan digunakan untuk menggantikan variabel yang ada di dalam template.
Ketika Anda mengakses halaman utama, template HTML akan dirender dan nilai variabel name dan items akan disisipkan ke dalamnya. Output yang dihasilkan akan dikirimkan sebagai respons dan ditampilkan di browser.
Dengan menggunakan Jinja, Anda dapat membuat template HTML yang dinamis dan menampilkan data dari aplikasi Flask Anda dengan mudah. Anda dapat menggunakan sintaks Jinja yang lebih kompleks untuk logika yang lebih kompleks, seperti penggunaan kondisional dan pengulangan.