pada materi sebelumnya kita sudah belajar sedikit tentang apa itu System Routing, contoh kecil misalnya kita mau membuat halaman Login tentunya kita harus menentukan rute bagaimana kita bisa mengakses halaman login itu, pada materi kali ini kita akan belajar mengenai dua jenis routing yang dapat kita gunakan untuk aplikasi web menggunakan Flask
Static Routing atau Routing Statis
artinya kita bisa membuat rute halaman secara manual misalnya kita membuat rute baru bernama /login, buka file app.py yang telah dibuat sebelumnya lalu tambahkan
# rute baru bernama Login
@app.route('/login')
def show_login():
return "kamu sedang berada di halaman <b>LOGIN</b>"
hingga semua script app.py seperti ini
# import Modul Flask
from flask import Flask
# instance dari objeknya
app = Flask(__name__)
# mengenal rute di Flask
@app.route('/')
# membuat Fungsi untuk nenampilkan HelloWorld
def index():
return "halo dunia debug flask on"
# rute baru bernama Login
@app.route('/login')
def show_login():
return "kamu sedang berada di halaman <b>LOGIN</b>"
if __name__=='__main__':
app.run(debug=True)
kemudian coba buka browser lalu masukan url localhost:5000/login atau 127.0.0.1:5000/login
maka hasilnya akan seperti ini
Routing Dinamis
pada kasus tertentu misalnya ingin mengakses halaman user contohnya ketika ingin mengakses halaman profile di instagram misal
https://instagram.com/pery
formatnya seperti ini
alamat-url/nama-profile
nah halaman nama profile tentu berbeda pada setiap akun, oleh karena itu kita butuh rute yang dibuat secara otomatis berdasarkan parameter tertentu, atau disebut juga routing dinamis, lalu implementasinya di flask pada kasus ini misalnya kita mau buat halaman profile yang dimana isinya dapat berubah secara dinamis, kita buat rute baru seperti ini, buka kembali file app.py
# nama file: app.py
# membuat rute baru dengan parameter
@app.route('/lihat-profile/<username>')
def lihat_profile(username):
return "Selamat datang di halaman profile kamu %s" % username
kemudian coba buka browser lalu masukan url http://localhost:5000/lihat-profile/nama-profile atau 127.0.0.1:5000/
contoh hasilnya adalah
Membuat Rute Dinamis dengan Tipe Data tertentu
pada kasus tertentu kita pasti butuh url dinamis yang berbentuk angka contohnya kita ada suatu blog yang menampilkan beberapa postingan berdasarkan angka misal
alamat-url/postigan/1
nah halaman postingan/ yang mempunyai parameter hanya berupa angka,float atau tipe data tertentu ini bisa dibuat dengan cara menentukan tipe data apa yang hanya dipakai di rute ini contoh, buat rute baru di file app.py
# membuat rute baru dengan spesifik tipe data
@app.route('/postingan/<int:post_id>')
def lihatpost(post_id):
return "ini adalah postingan ke %d" % post_id
int:post_id adalah variabel yang isinya hanya boleh berupa integer karena sudah di spesikifasikan dengan int:nama_variabel, nah halaman akan tidak dikenali jika parameter mempunyai tipe data yang berbeda dari yan di spesifikasikan
namun jika tipe data sesuai dengan apa yang di spesifikasikan hasilnya
script app.py pada materi kali ini
# nama file: app.py
# materi: routing statis dan dinamis di flask
# import Modul Flask
from flask import Flask
# instance dari objeknya
app = Flask(__name__)
# mengenal rute di Flask
@app.route('/')
# membuat Fungsi untuk nenampilkan HelloWorld
def index():
return "halo dunia debug flask on"
# rute baru bernama Login
@app.route('/login')
def show_login():
return "kamu sedang berada di halaman <b>LOGIN</b>"
# membuat rute baru dengan parameter
@app.route('/lihat-profile/<username>')
def lihat_profile(username):
return "Selamat datang di halaman profile kamu %s" % username
# membuat rute baru dengan spesifik tipe data
@app.route('/postingan/<int:post_id>')
def lihatpost(post_id):
return "ini adalah postingan ke %d" % post_id
if __name__=='__main__':
app.run(debug=True)
Referensi
- Flask Documentations