Pada artikel sebelumnya kita sudah belajar membuat model dan templates, masih dalam seri yang sama, di artikel kali ini kita akan mencoba membuat rute URL pada website di python menggunakan flask.
Rute URL adalah sebuah struktur navigasi yang menghubungkan antara halaman satu dengan halaman lainnya dalam sebuah website. Berikut ini contoh gambaran rute URL yang akan kita buat.
Untuk membuat rule URL di aplikasi python yang menggunakan Flask kita memakai dekorator route() dengan metode ini kita bisa memetakan suatu fungsi dengan URL tertentu.
Pada artikel sebelumnya sebetulnya kita sudah membuat pemetaan url ini namun hanya pada fungsi index() saja, nah pada kali ini kita akan mencoba membuat beberapa fungsi yang akan di petakan URL nya dan memuat template halamannya masing-masing.
Langkah 1 : Buat File app.py
Buatlah sebuah folder project dengan nama web_python lalu buat file app.py menggunakan teks editor, simpan file di dalam folder web_python.
from flask import Flask, render_template, url_for
application = Flask(__name__)
@application.route('/')
def index():
return render_template('home.html')
@application.route('/kontak-saya')
def kontakSaya():
return render_template('kontak-saya.html')
@application.route('/tentang-saya')
def tentangSaya():
return render_template('tentang-saya.html')
if __name__ == '__main__':
application.run(debug=True)
File app.py berfungsi sebagai objek aplikasi dari kelas flask yang mana aplikasi ini menginport modul Flask, render_template, url_for.
Terdapat 3 fungsi (metode) yang kita definisikan disini yaitu fungsi index(), kontakSaya() dan tentangSaya().
Fungsi index() merupakan fungsi view (view function) dimana akan menampilkan template menggunakan metode render_template() dengan nama template yang di render adalah home.html.
Coba perhatikan pada bagian sintak @application.route(‘/’) sintak inilah yang disebut dekarator route() dimana fungsi index() akan dipetakan pada URL ‘\’ (root directory). Sehingga ketika pengguna meminta URL http://localhost:5000, aplikasi akan mengeksekusi fungsi index().
Begitu juga dengan fungsi kontakSaya(), fungsi ini akan dipetakan pada URL ‘/kontak-saya’ dengan merender template kontak-saya.html.
fungsi tentangSaya() akan dipetakan pada URL ‘/tentang-saya’ dengan merender template tentang-saya.html.
Langkah 2 : Membuat Template
Buatlah folder templates di dalam folder project web_python.
Kita akan membuat 3 file template untuk membuat halaman home, kontak saya dan tentang saya.
Buat template : home.html
<html>
<head>
<title>Home</title>
</head>
<body>
<h2>Home</h2>
<ul>
<li><a href="{{ url_for('index') }}">Home</a></li>
<li><a href="{{ url_for('kontakSaya')}}">Kontak Saya</a></li>
<li><a href="{{ url_for('tentangSaya')}}">Tentang Saya</a></li>
</ul>
<p>Ini adalah halaman home pada aplikasi website saya</p>
</body>
</html>
Buat template : kontak-saya.html
<html>
<head>
<title>Kontak Saya</title>
</head>
<body>
<h2>Kontak Saya</h2>
<ul>
<li><a href="{{ url_for('index') }}">Home</a></li>
<li><a href="{{ url_for('kontakSaya')}}">Kontak Saya</a></li>
<li><a href="{{ url_for('tentangSaya')}}">Tentang Saya</a></li>
</ul>
<p>Silahkan hubungi saya melalui email di kelasprogrammer@gmai.com</p>
</body>
</html>
Buat template : tentang-saya.html
<html>
<head>
<title>Tentang Saya</title>
</head>
<body>
<h2>Tentang Saya</h2>
<ul>
<li><a href="{{ url_for('index') }}">Home</a></li>
<li><a href="{{ url_for('kontakSaya')}}">Kontak Saya</a></li>
<li><a href="{{ url_for('tentangSaya')}}">Tentang Saya</a></li>
</ul>
<p>Saya seorang web programming, di bidang fullstack developer</p>
</body>
</html>
Perhatikan pada kode di atas untuk memanggil fungsi view (index, kontakSaya, tentangSaya) kita perlu menggunakan fungsi url_for() yang telah kita import pada objek aplikasi flask.
Langkah 3 : Jalankan Aplikasi
Eksekusi file app.py lalu kemudian buka pada URL yang diberikan http://127.0.0.1:5000 atau http://localhost:5000/
Jika berhasil tampilannya akan seperti pada gambar berikut:
Dapat dilihat dari hasil tampilan di atas, setiap fungsi view akan dipanggil saat link di klik sesuai dengan URL yang dipetakan menggunakan metode route() pada masing-masing fungsi view.
Kesimpulan
Sekian pembahasan kali ini mengeai cara menentukan URL di aplikasi website python menggunakan flask. Semoga bermanfaat dan dapat membantu teman-teman sekalian, pada artikel selanjutnya kita akan belajar bagaimana menyertakan file gambar dan CSS (Cascading Style Sheets) ke dalam aplikasi web python yang kita buat menggunakan flask.
mantap, min sering sering nulis min saya suka artikelnya
baik kak.. hehhe admin sekarang lagi benar sibuk jadi udh jarang posting artikel baru, tapi admin usahakan untuk kedepannya bisa lebih baik lagi