Biasanya programer Python menggunakan fasilitas Graphic User Interface (GUI) dari library Tkinter (lihat post yang lalu). Namun tren aplikasi berbasis web membuat programer Python membuat aplikasi berbasis web. Postingan ini menggambarkan bagaimana program Python bekerja di web. Pertama-tama yang dibutuhkan adalah donwload library. Di sini saya menggunakan cara tergampang, yaitu dari Anaconda Navigator
Untuk pembuatan aplikasi web skala besar, gunakan Django dengan fasilitas framework-nya yang lengkap. Caranya sama untuk mengunduh librarynya lewat Anaconda Navigator. Pastikan library tersebut terinstal di Anaconda agar nanti bisa digunakan di Jupyter Notebook lewat instruksi import.
Django Atau Flask? Jinja2 untuk Apa?
Sesuai dengan fungsinya, jika ingin membuat aplikasi besar gunakan saja Django. Tetapi untuk aplikasi ringan, flask lebih cepat. Bagaimana dengan Jinja2? Fungsi Jinja2 memang berbeda dengan Django dan Flask. Aplikasi ini berfungsi untuk membuat template yang nanti muncul di browser. Jika sudah ok, template tersebut dapat diterapkan baik di Django maupun Flask. Walaupun Django bisa juga untuk merancang template tetapi dengan Jinja2 programmer lebih senang karena cepat karena tidak membutuhkan fasilitas-fasilitas lain Django yang tidak ada hubungannya dengan template.
Mencoba Flask
Untuk membuat Python web dengan Flask kita harus memiliki template HTML. Gunakan template berikut ini.
-
<!DOCTYPE html>
-
<html>
-
<head>
-
<title>Flask Template Example</title>
-
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
-
<link href=”http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css” rel=”stylesheet” media=”screen”>
-
<style type=”text/css”>
-
.container {
-
max-width: 500px;
-
padding-top: 100px;
-
}
-
</style>
-
</head>
-
<body>
-
<div class=”container”>
-
<p>My string: {{my_string}}</p>
-
<p>Value from the list: {{my_list[3]}}</p>
-
<p>Loop through the list:</p>
-
<ul>
-
{% for n in my_list %}
-
<li>{{n}}</li>
-
{% endfor %}
-
</ul>
-
</div>
-
</body>
-
</html>
Beri nama template.html, silahkan gunakan editor, misalnya notepad. Jangan lupa ekstensi harus html bukan txt. Buat folder baru di direktori Python, beri nama template. Posisi file kira-kira seperti ini. Dimana folder templates harus disediakan, berisi file HTML (lihat refernsi ini). Silahkan isi requirement.txt atau dengan nama lain misalnya readme.txt. Atau tidak ada juga tidak apa-apa karena hanya berisi penjelasan program.
Letakan template.html di folder tersebut. Sementara itu program utama tetap di direktori Python. Gunakan kode berikut.
-
from flask import Flask, render_template
-
app = Flask(__name__)
-
@app.route(“/”)
-
def template_test():
-
return render_template(‘template.html’, my_string=”Wheeeee!”, my_list=[0,1,2,3,4,5])
-
if __name__ == ‘__main__’:
-
app.run(debug=True)
Masuk ke Terminal dan jalankan dengan mengetik.
-
python run.py
Anda harus berhasil melihat hasilnya di http://127.0.0.1:5000 seperti instruksi di terminal. Di sini maksudnya kita diminta melihat localhost dengan port 5000, port yang diberikan oleh flask untuk mengakses via browser.
Silahkan lihat referensi di bawah untuk melihat bagaimana Jinja2 bekerja pada template. Di atas digunakan Flask, bisa juga dengan Django. Python saat ini sangat kuat dalam komputasi yang bekerja di back-end misalnya untuk mesin pembelajaran, dengan aplikasinya bisa jalan juga di web, berarti bahasa ini sangat diminati karena bisa bekerja selain di back-end maupun front-end, mengungguli bahasa-bahasa komputasi lainnya (lihat post yang lalu tentang tren bahasa pemrograman).
Referensi: https://realpython.com/primer-on-jinja-templating/