Flask: Kerangka Kerja Web Minimalis Python
Flask adalah kerangka kerja aplikasi web mikro (micro web framework) yang ditulis dalam Python. Dikenal karena kesederhanaan, modularitas, dan kemampuannya untuk berkembang sesuai kebutuhan aplikasi. Tidak seperti kerangka kerja besar lainnya, Flask tidak memaksa Anda menggunakan alat atau pustaka tertentu, memberikan kebebasan lebih bagi pengembang. Jika Anda ingin membangun API sederhana atau aplikasi web kecil tanpa kerumitan, Flask adalah pilihan yang sangat baik.
Sebelum memulai, sangat disarankan untuk membuat lingkungan virtual (virtual environment). Ini mengisolasi dependensi proyek Anda dari proyek Python lainnya di sistem Anda.
# Membuat lingkungan virtual
python -m venv venv
# Mengaktifkan lingkungan virtual (Linux/macOS)
source venv/bin/activate
# Mengaktifkan lingkungan virtual (Windows Command Prompt)
.\venv\Scripts\activate
Setelah lingkungan aktif, instalasi Flask sangat mudah menggunakan pip, manajer paket Python.
pip install Flask
Buat sebuah file bernama app.py. Ini adalah jantung dari aplikasi Flask Anda. Kita akan mendefinisikan rute dasar (root route) yang akan merespons ketika pengguna mengakses halaman utama.
Isi dari app.py:
from flask import Flask
# Membuat instance aplikasi Flask
app = Flask(__name__)
# Mendefinisikan rute utama ('/')
@app.route('/')
def halo_dunia():
return "Halo Dunia! Ini Aplikasi Flask Pertama Saya.
Selamat mencoba cara menggunakan Flask Python.
"
# Menjalankan aplikasi
if __name__ == '__main__':
app.run(debug=True)
Kode di atas menginisialisasi aplikasi, menggunakan dekorator @app.route('/') untuk memetakan fungsi halo_dunia ke URL root, dan menjalankannya dalam mode debug.
Pastikan Anda masih berada dalam lingkungan virtual yang aktif, lalu jalankan skrip Python Anda melalui terminal.
python app.py
Server akan mulai berjalan, biasanya pada alamat http://127.0.0.1:5000/. Buka alamat tersebut di browser Anda untuk melihat hasilnya.
Kekuatan web framework terletak pada kemampuannya menangani URL yang bervariasi. Flask memungkinkan Anda menambahkan variabel langsung di dalam definisi rute menggunakan kurung sudut (< >).
Tambahkan fungsi baru ke app.py:
# Rute dengan variabel dinamis
@app.route('/user/')
def tampilkan_profil(username):
return f"Profil Pengguna: {username.capitalize()}
Anda mengakses halaman profil untuk user ini.
"
Jika Anda mengakses /user/budi, Flask akan secara otomatis meneruskan 'budi' sebagai argumen username ke fungsi Anda.
Mengembalikan HTML langsung dari fungsi Python tidak efisien. Flask menggunakan Jinja2 sebagai mesin templating. Anda perlu membuat folder bernama templates di direktori yang sama dengan app.py.
Di dalam folder templates, buat file index.html.
<!-- templates/index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Template Flask</title>
</head>
<body>
<h1>Selamat Datang di Halaman Utama!</h1>
<p>Data dari server: {{ pesan }}</p>
</body>
</html>
Kemudian, modifikasi app.py untuk me-render template tersebut, menggunakan render_template:
from flask import Flask, render_template # Import baru
app = Flask(__name__)
@app.route('/')
def index():
# Mengirim variabel 'pesan' ke template
return render_template('index.html', pesan="Ini dikirim dari variabel Python.")
# ... sisa kode lainnya
Flask memberikan fondasi yang sangat kuat untuk memulai pengembangan web Python dengan cepat. Dengan memahami cara menangani rute, permintaan, dan menampilkan template, Anda sudah menguasai dasar-dasar cara menggunakan Flask Python. Untuk langkah selanjutnya, pelajari tentang Request Objects, Forms, dan Database Integration (seperti SQLAlchemy).