Kita telah melihat bagaimana dekorator route() dapat digunakan untuk mengikat satu atau beberapa URL statis ke fungsi tampilan. Namun, bagaimana jika kita ingin menangani sekumpulan URL yang mungkin terus berubah? Mari kita lihat bagaimana kita dapat menggunakan aturan variabel untuk memungkinkan URL dinamis.
Saat menentukan URL untuk mengikat ke fungsi tampilan, kita memiliki opsi untuk menjadikan bagian mana pun dari jalur di antara garis miring (/) sebagai variabel dengan menunjukkan <nama_variabel>. Bagian variabel ini kemudian akan diteruskan ke fungsi tampilan sebagai argumen. Misalnya:
@app.route('/orders/<user_name>/<int:order_id>')
def orders(user_name, order_id):
return f'<p>Fetching order #{order_id} for {user_name}.</p>'
Sekarang, URL seperti ‘/orders/john/1‘ dan ‘/orders/jane/8‘ semuanya dapat ditangani oleh fungsi orders().
Perhatikan bahwa kita juga dapat secara opsional memaksakan jenis variabel yang diterima menggunakan sintaks: <converter: nama_variabel>. Jenis konverter yang mungkin adalah:
string | menerima teks apa pun tanpa garis miring (default) |
int | menerima bilangan bulat positif |
float | menerima nilai floating point positif |
path | seperti string tetapi juga menerima garis miring |
uuid | menerima string UUID |
Contoh :
@app.route('/reporter/<int:reporter_id>')
def reporter(reporter_id):
return f'''
<h2>Reporter {reporter_id} Bio</h2>
<a href="/">Return to home page</a>
'''
Lanjutkan membaca