Study
Flask

Template Jinja2 Dasar

Penjelasan

Jinja2 adalah template engine yang dipakai Flask untuk merender HTML dengan data dinamis dari Python. File template disimpan di folder templates/ pada root project, dan Flask otomatis mencarinya di situ. Ada dua sintaks utama: {{ ekspresi }} untuk menampilkan nilai variabel (mirip print), dan {% statement %} untuk logika seperti if, for, atau block. Jinja2 juga punya 'filter' untuk memodifikasi tampilan nilai, ditulis dengan pipe, misalnya {{ nama|upper }} untuk huruf besar atau {{ harga|round(2) }} untuk pembulatan.

Contoh Konsep

# app.py
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/produk')
def produk():
    daftar = ['Laptop', 'Mouse', 'Keyboard']
    return render_template('produk.html', items=daftar, judul='Daftar Produk')

<!-- templates/produk.html -->
<h1>{{ judul }}</h1>
<ul>
{% for item in items %}
    <li>{{ item }}</li>
{% endfor %}
{% if items|length == 0 %}
    <p>Belum ada produk.</p>
{% endif %}
</ul>

Praktikum

Lengkapi template agar menampilkan daftar nama_siswa dengan penomoran, dan pesan 'Kelas kosong' kalau list-nya kosong.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Jinja2 otomatis melakukan auto-escaping HTML pada {{ }} untuk mencegah XSS — jangan matikan ini kecuali kamu benar-benar tahu isinya aman, misalnya lewat filter |safe.