Belajar Flask - Bagian 11
Mini Project: Voting Makanan Favorit

oleh: Suryo Adhy Chandra, ST

Project terakhir ini membuat halaman voting makanan favorit. Pengunjung memilih salah satu makanan, lalu website menampilkan jumlah suara untuk tiap pilihan.

Ilustrasi voting makanan favorit

1. Fitur yang akan dibuat

2. Kode app.py

from flask import Flask, render_template, redirect app = Flask(__name__) hasil_voting = { "Nasi Goreng": 0, "Mie Ayam": 0, "Bakso": 0, "Sate": 0, } @app.route("/") def index(): return render_template("voting.html", hasil_voting=hasil_voting) @app.route("/vote/<makanan>") def vote(makanan): if makanan in hasil_voting: hasil_voting[makanan] = hasil_voting[makanan] + 1 return redirect("/") if __name__ == "__main__": app.run(debug=True)
Kali ini data disimpan memakai dict, bukan list, karena kita perlu menyimpan pasangan nama makanan dengan jumlah suaranya masing-masing.

3. Template templates/voting.html

<h1>Voting Makanan Favorit</h1> {% for makanan, jumlah in hasil_voting.items() %} <p> {{ makanan }} — {{ jumlah }} suara <a href="/vote/{{ makanan }}">Pilih</a> </p> {% endfor %}

hasil_voting.items() dipakai untuk mengambil setiap pasangan nama makanan (makanan) dan jumlah suaranya (jumlah) dari dictionary, lalu ditampilkan satu per satu memakai perulangan.

4. Coba jalankan

Jalankan dengan python app.py, lalu buka http://127.0.0.1:5000/. Coba klik "Pilih" pada beberapa makanan dan lihat jumlah suaranya bertambah.

Selamat! 🎉

Kamu sudah mencoba lima mini project Flask: daftar tugas sekolah, buku tamu, daftar nilai, catatan harian, dan voting makanan favorit. Coba gabungkan atau kembangkan sendiri project-project ini menjadi lebih lengkap!

← Kembali Ke Daftar Pelajaran Flask