Belajar Flask - Bagian 8
Mini Project: Buku Tamu

oleh: Suryo Adhy Chandra, ST

Buku Tamu (guestbook) adalah halaman website yang memungkinkan pengunjung meninggalkan pesan, seperti komentar atau ucapan. Semua pesan yang masuk akan ditampilkan ke pengunjung lain.

Ilustrasi buku tamu

1. Fitur yang akan dibuat

2. Kode app.py

from flask import Flask, render_template, request, redirect app = Flask(__name__) daftar_pesan = [ {"nama": "Budi", "pesan": "Websitenya keren!"}, {"nama": "Sinta", "pesan": "Semangat belajarnya!"}, ] @app.route("/", methods=["GET", "POST"]) def index(): if request.method == "POST": nama = request.form["nama"] pesan = request.form["pesan"] daftar_pesan.insert(0, {"nama": nama, "pesan": pesan}) return redirect("/") return render_template("buku_tamu.html", daftar_pesan=daftar_pesan) if __name__ == "__main__": app.run(debug=True)

daftar_pesan.insert(0, ...) dipakai supaya pesan baru diletakkan di posisi paling awal list, sehingga tampil paling atas.

3. Template templates/buku_tamu.html

<h1>Buku Tamu</h1> <form method="POST"> <input type="text" name="nama" placeholder="Nama kamu" required> <br> <textarea name="pesan" placeholder="Tulis pesan..." required></textarea> <br> <button type="submit">Kirim Pesan</button> </form> <hr> {% for pesan in daftar_pesan %} <p> <b>{{ pesan.nama }}</b>: {{ pesan.pesan }} </p> {% endfor %}
Atribut required pada <input> dan <textarea> membuat browser otomatis meminta pengunjung mengisi kolom tersebut sebelum mengirim form.

4. Coba jalankan

Jalankan dengan python app.py, lalu buka http://127.0.0.1:5000/ dan coba kirim beberapa pesan dari nama yang berbeda-beda.

← Kembali Ke Daftar Pelajaran Flask