Aku inget banget waktu pertama kali belajar bikin aplikasi web, yang aku temuin duluan tuh Django. Tapi setelah ngulik sebentar, aku ngerasa itu agak terlalu “berat” buat level pemula kayak aku waktu itu. Terus temenku nyaranin, “Coba Flask deh. Ringan, gampang, dan cocok banget buat belajar.” Dan ya, benar banget! Sejak saat itu aku langsung jatuh cinta sama Flask.
Flask tuh ibaratnya seperti Lego. Framework ini ringan dan fleksibel, jadi kamu bisa bangun dari yang sederhana sampai kompleks, tergantung kreativitas dan kebutuhanmu. Di artikel ini, aku mau ajak kamu ikutan belajar bareng membuat aplikasi web dari nol pakai Flask, dengan cara yang mudah dipahami, cocok banget buat kamu yang baru mulai di dunia web development dengan Python.
Apa Itu Flask?
Flask adalah micro web framework untuk Python yang didesain sederhana namun extensible. Flask tidak membawa banyak hal secara default—tidak ada ORM, tidak ada form handling, atau sistem admin bawaan. Tapi justru itulah yang bikin ringan dan fleksibel.
Beberapa keunggulan yang bikin aku betah banget:
-
Ringan dan cepat buat proyek kecil maupun besar
-
Dokumentasi lengkap dan jelas
-
Komunitas yang aktif
-
Cocok untuk prototyping cepat
Persiapan Sebelum Ngoding
Sebelum kita mulai nulis kode, pastikan kamu sudah install Python (versi 3.x ya). Lalu kita buat environment virtual biar project-mu tetap rapi dan terisolasi.
Flask-nya udah siap? Yuk, mulai bikin aplikasinya!
Struktur Proyek Sederhana
Aku selalu mulai dari struktur sederhana kayak gini:
Dengan struktur ini, kita udah bisa bikin halaman HTML dan styling CSS dasar.
Membuat Aplikasi Pertama
Buka app.py
dan tulis kode berikut:
Lalu buat file templates/index.html
:
Jalankan aplikasi:
Buka browser dan kunjungi http://127.0.0.1:5000/
, dan boom! Aplikasi web pertamamu jalan!
Routing dan Parameter
Salah satu hal keren dari Flask adalah routing yang sangat sederhana:
Coba buka http://localhost:5000/hello/Budi
, kamu akan lihat hasil personalisasi.
Template Engine dengan Jinja2
Flask pakai Jinja2 sebagai template engine, dan itu powerful banget. Kamu bisa kirim variabel dari Python ke HTML:
Di profile.html
:
Bisa juga pakai loop, kondisi, bahkan nested template.
Form dan Request Flask
Sekarang kita coba bikin form sederhana:
Gampang, kan? Flask bikin interaksi web terasa lebih intuitif.
Error yang Sering Aku Alami
Aku pernah pusing banget karena typo di routing (@app.route('home')
padahal harus @app.route('/home')
). Fla sk langsung lempar error 404. Jadi pastikan selalu cek syntax-mu!
Kesalahan techno lain:
-
Lupa
debug=True
, jadi susah lihat error -
Salah indentasi di
render_template
-
Belum bikin folder
templates
, padahal udah dipanggil
Integrasi CSS dan File Statis
Kalau kamu mau pakai CSS atau gambar:
-
Simpan di folder
static/
-
Panggil dari HTML pakai
url_for('static', filename='style.css')
Contoh:
Dan sekarang websitemu bisa tampil lebih menarik!
Flask dan SQLite
Flask sangat cocok dipakai bareng SQLite buat aplikasi kecil atau prototipe:
Kamu bisa pakai SQLAlchemy juga, tapi untuk awal-awal, SQLite udah cukup kok.
Menambahkan Blueprint (Modularisasi)
Kalau aplikasi kamu mulai besar, pakai Blueprint buat modularisasi:
Lalu daftarkan di app.py
:
Struktur ini bikin project lebih rapi dan maintainable.
Keamanan Dasar Flask
Buat login atau fitur sensitif, jangan lupa:
-
Gunakan session untuk menyimpan data login
-
Gunakan Flask-WTF untuk validasi form
-
Jangan pernah log password secara plain-text!
Contoh:
Deploy Aplikasi Flask
Setelah selesai di lokal, kamu bisa deploy ke:
-
Heroku (gratis dan mudah)
-
Render, Vercel, atau PythonAnywhere
Biasanya tinggal buat requirements.txt
dan file Procfile
, lalu push via Git.
Kesimpulan: Kenapa Flask itu Ideal untuk Pemula dan Pro
Flask punya kombinasi unik: mudah untuk pemula, tapi cukup fleksibel untuk aplikasi besar. Aku pribadi udah beberapa kali bikin prototipe startup, REST API, sampai blog pribadi pakai Flask, dan hasilnya selalu memuaskan.
Framework ini ngajarin kita dasar-dasar web dari nol—gimana routing bekerja, gimana data dikirim lewat HTTP request, gimana HTML dan Python bisa terhubung. Itu semua bekal berharga buat jadi developer web yang solid.
Baca juga artikel berikut: Drone GPS: Terbang Pintar untuk Segala Keperluan