Study
Flask

URL Variables & Converters

Penjelasan

URL sering punya bagian yang berubah-ubah, misalnya /produk/5 atau /user/budi. Flask menangkap bagian ini lewat sintaks <converter:nama> di path route, lalu meneruskannya sebagai argumen ke fungsi view. Converter bawaan Flask antara lain string (default, tanpa slash), int (bilangan bulat), float, path (string termasuk slash), dan uuid. Kalau tipe data di URL tidak cocok dengan converter — misalnya kamu akses /produk/abc padahal route-nya <int:id> — Flask otomatis mengembalikan 404 tanpa perlu validasi manual.

Contoh Konsep

from flask import Flask

app = Flask(__name__)

@app.route('/produk/<int:produk_id>')
def detail_produk(produk_id):
    return f'Detail produk nomor {produk_id}'

@app.route('/user/<string:username>')
def profil(username):
    return f'Profil milik {username}'

@app.route('/harga/<float:nilai>')
def harga(nilai):
    return f'Harga: Rp{nilai}'

Praktikum

Buat route '/artikel/<slug>' (string) dan '/artikel/id/<id_artikel>' (integer) yang masing-masing mengembalikan pesan sesuai parameternya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kalau converter tidak dituliskan sama sekali (misalnya <nama>), Flask memperlakukannya sebagai string secara default. Gunakan converter path saat kamu memang butuh slash di dalam segmen URL, misalnya untuk menangkap sisa path file.