Belajar Flask - Bagian 6
Flask: Form dan CRUD Sederhana

oleh: Suryo Adhy Chandra, ST

Website yang interaktif biasanya punya form untuk menerima data dari pengguna, misalnya form untuk menambah nama siswa baru. Selain itu, banyak aplikasi juga butuh CRUD: Create (tambah), Read (lihat), Update (ubah), dan Delete (hapus) data.

Ilustrasi CRUD sederhana

1. Membuat form HTML sederhana

Simpan sebagai templates/tambah.html. Form ini punya satu input teks untuk nama siswa, dan tombol untuk mengirim data.

<form method="POST"> <input type="text" name="nama" placeholder="Nama siswa"> <button type="submit">Tambah</button> </form>

Atribut method="POST" berarti data form akan dikirim secara aman ke server, bukan ditampilkan di alamat URL.

2. Menerima data form di Flask

Flask menyediakan request.form untuk membaca data yang dikirim dari form. Karena halaman ini harus bisa menampilkan form (GET) dan menerima kiriman data (POST), kita tambahkan methods=["GET", "POST"] pada route.

from flask import Flask, render_template, request app = Flask(__name__) daftar_siswa = ["Budi", "Sinta"] @app.route("/tambah", methods=["GET", "POST"]) def tambah(): if request.method == "POST": nama_baru = request.form["nama"] daftar_siswa.append(nama_baru) return render_template("tambah.html")

3. CRUD sederhana dengan list Python

Untuk latihan, kita bisa memakai list Python sebagai "database" mini yang menyimpan data sementara (data akan hilang saat program dimatikan). Berikut contoh keempat kegiatan CRUD:

Create — menambah data baru ke dalam list:

daftar_siswa.append(nama_baru)

Read — menampilkan semua data ke halaman HTML memakai perulangan Jinja2:

<ul> {% for siswa in daftar_siswa %} <li>{{ siswa }}</li> {% endfor %} </ul>

Update — mengubah data pada posisi (index) tertentu:

@app.route("/ubah/<int:index>/<nama_baru>") def ubah(index, nama_baru): daftar_siswa[index] = nama_baru return "Data berhasil diubah"

Delete — menghapus data pada posisi (index) tertentu:

@app.route("/hapus/<int:index>") def hapus(index): daftar_siswa.pop(index) return "Data berhasil dihapus"
Contoh di atas masih sangat sederhana karena datanya hilang setiap kali server dimatikan. Untuk menyimpan data secara permanen, biasanya dipakai database — konsep ini bisa dipelajari lebih lanjut di materi Django, yang sudah menyediakan database bawaan.

Selamat! 🎉

Kamu sudah menyelesaikan dasar-dasar belajar Flask, mulai dari mengulang Python dan HTML, mengenal Flask, membuat halaman pertama, route dan template, sampai form dan CRUD sederhana. Sekarang coba buat project kecilmu sendiri menggunakan Flask!

← Kembali Ke Daftar Pelajaran Flask