Blueprints
Penjelasan
Semakin besar aplikasi, semakin merepotkan kalau semua route ditulis dalam satu file app.py. Blueprint adalah cara Flask mengelompokkan route, template, dan static file terkait ke dalam modul terpisah yang bisa didaftarkan ke aplikasi utama lewat app.register_blueprint(). Setiap blueprint punya nama sendiri, dan bisa diberi url_prefix supaya semua route di dalamnya otomatis diawali path tertentu, misalnya semua route admin diawali '/admin'. Ini kurang lebih setara dengan konsep modular routing di framework lain, dan sangat membantu tim yang bekerja di fitur berbeda tanpa saling bentrok file.
Contoh Konsep
# blueprints/admin.py
from flask import Blueprint
admin_bp = Blueprint('admin', __name__, url_prefix='/admin')
@admin_bp.route('/dashboard')
def dashboard():
return 'Dashboard Admin'
@admin_bp.route('/users')
def users():
return 'Daftar User'
# app.py
from flask import Flask
from blueprints.admin import admin_bp
app = Flask(__name__)
app.register_blueprint(admin_bp)
# route aktif: /admin/dashboard dan /admin/users
Praktikum
Buat blueprint 'toko' dengan url_prefix '/toko' berisi satu route '/produk' yang mengembalikan 'Daftar produk toko'.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Saat memakai url_for() untuk route di dalam blueprint, sertakan nama blueprint-nya, misalnya url_for('admin.dashboard'), bukan hanya url_for('dashboard').