Flask Tutorial: Setup dan Route Pertama
Flask adalah framework web Python yang ringan. Pola dasarnya sederhana: sebuah URL dihubungkan ke function Python, lalu nilai yang dikembalikan function tersebut dikirim kepada client sebagai response. Client-nya bisa berupa browser, aplikasi mobile, frontend JavaScript, atau service lain.
Kita akan mulai dari bentuk aplikasi Flask yang paling kecil. Belum ada database, template, atau struktur folder yang panjang. Targetnya cukup satu: menyiapkan project yang terisolasi, menjalankan development server, lalu memahami perjalanan request sampai menjadi tulisan di browser.
Siapkan Folder dan Virtual Environment
Pastikan Python 3 sudah tersedia. Kamu bisa mengeceknya dari terminal dengan python --version, python3 --version, atau py --version di Windows.
Buat folder khusus agar file latihan tidak bercampur dengan project lain. Setelah itu, buat virtual environment bernama .venv. Virtual environment menjaga Flask dan package lain tetap berada di project ini, sehingga versinya tidak bentrok dengan project Python yang berbeda.
Di macOS atau Linux, jalankan:
# File: terminal (macOS/Linux)
mkdir flask-first-route
cd flask-first-route
python3 -m venv .venv
source .venv/bin/activate
python -m pip install flask
Di Windows PowerShell, perintahnya sedikit berbeda:
# File: terminal (Windows PowerShell)
mkdir flask-first-route
cd flask-first-route
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install flask
Kalau aktivasi berhasil, biasanya nama (.venv) muncul di awal baris terminal. Kamu juga bisa memastikan Flask sudah terpasang dengan menjalankan python -m flask --version.
Tulis Aplikasi Flask Pertama
Buat file app.py di dalam folder project, lalu isi dengan kode berikut:
# File: app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Hello, Flask!"
Mari pecah kodenya supaya peran setiap bagian terlihat jelas:
from flask import Flaskmengambil classFlaskdari package yang baru di-install.app = Flask(__name__)membuat object aplikasi. Namaappbukan aturan wajib, tetapi nama ini umum dipakai dan cocok dengan command yang akan kita jalankan.@app.route("/")mendaftarkan URL/, yaitu halaman utama aplikasi.home()adalah function yang dijalankan ketika URL tersebut diminta.- Nilai dari
returnmenjadi response. Untuk contoh ini, Flask mengirim teks biasa.
Decorator @app.route() berada tepat di atas function karena keduanya saling berhubungan. Tanpa decorator itu, home() tetap function Python biasa, tetapi Flask tidak tahu URL mana yang harus memanggilnya.
Jalankan Development Server
Pastikan virtual environment masih aktif, lalu jalankan:
# File: terminal
python -m flask --app app run --debug
Bagian --app app meminta Flask mencari object aplikasi di module app, yaitu file app.py. Kalau file tersebut Kamu beri nama main.py, command-nya perlu diubah menjadi python -m flask --app main run --debug.
Opsi --debug mengaktifkan pesan error yang lebih jelas dan me-reload server ketika kode berubah. Fitur ini nyaman untuk development lokal, tetapi jangan dipakai di production karena dapat menampilkan informasi internal aplikasi.
Terminal akan menampilkan alamat seperti http://127.0.0.1:5000. Buka alamat itu di browser. Jika semuanya benar, halaman akan menampilkan Hello, Flask!.
Apa yang Terjadi Saat URL Dibuka?
Saat Kamu membuka http://127.0.0.1:5000/, browser mengirim request GET ke development server. Flask melihat path /, menemukan route yang cocok, lalu menjalankan home(). String yang dikembalikan function itu diubah menjadi response HTTP dan dikirim kembali ke browser.
Alurnya bisa diringkas seperti ini: request masuk, Flask memilih route, function dijalankan, lalu response dikirim. Nanti isi response bisa berkembang menjadi HTML, redirect, JSON, file, atau halaman error, tetapi alur dasarnya tetap sama.
Tambahkan Satu Alamat Lagi
Supaya hubungan URL dan function makin terasa, tambahkan route /about di bawah home():
# File: app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Hello, Flask!"
@app.route("/about")
def about():
return "Aplikasi Flask pertamaku"
Simpan file, lalu buka http://127.0.0.1:5000/about. Karena debug mode aktif, server seharusnya membaca perubahan tanpa perlu dijalankan ulang secara manual. URL yang tidak didaftarkan, misalnya /contact, akan menghasilkan response 404 Not Found.
Coba Ubah Sendiri
- Ubah response
/menjadi kalimat yang lebih panjang. - Buat route
/contactdan isi dengan alamat email contoh. - Ganti nama file menjadi
main.py, lalu sesuaikan nilai setelah--app. - Buka URL yang belum terdaftar dan perhatikan status
404di terminal.
Kalau Aplikasinya Belum Jalan
- Jangan beri nama file
flask.py. Nama itu bertabrakan dengan package Flask dan biasanya memicu error import yang membingungkan. - Jalankan command dari folder yang berisi
app.py. Kalau terminal berada di folder lain, Flask tidak akan menemukan moduleapp. - Pastikan virtual environment aktif sebelum meng-install atau menjalankan Flask.
- Periksa kembali tanda kutip, titik dua setelah
def home():, dan indentasi pada barisreturn.
Project kecil ini memang hanya mengirim satu baris teks, tetapi semua bagian pentingnya sudah ada: object aplikasi, route, request, dan response. Begitu hubungan keempatnya terasa masuk akal, menambahkan halaman atau endpoint baru tinggal mengembangkan pola yang sama.
Artikel Terkait
Lanjutkan membaca topik yang masih satu konteks.
Flask Template Jinja: Layout, Variable, dan Loop
Gunakan Jinja template di Flask untuk mengirim data ke HTML, membuat loop dan conditional, serta memakai base layout tanpa mengulang markup.
Flask Routing: URL, Request, dan Response
Pelajari Flask routing lewat URL, path parameter, query string, HTTP method, dan status code untuk membuat request serta response yang jelas.
CRUD Flask dan MySQL: Auth, Testing, dan Caching
Bangun aplikasi CRUD Flask dengan MySQL, authentication, testing, caching, setup environment, dan struktur project siap deploy.
Tutorial Membuat Website Menggunakan Framework Flask
Tutorial untuk membuat aplikasi web menggunakan Flask, sebuah framework web berbasis bahasa Python yang cukup ringan dan mudah digunakan. Flask sangat cocok untuk para pemula yang ingin belajar membuat sebuah aplikasi web.