@app.route('/’)
def index():
return "Halo dunia, Saya sedang belajar python "
if __name__ == '__main__':
app.run(debug = True)
Code Lengkap
if __name__ == '__main__':
app.run(debug = True)
Menjalankan Aplikasi
Kemudian ketikan:
(base) F:\svmweb>python index.py
Menjalankan Aplikasi
• Kemudian akan tampil seperti berikut:
* Serving Flask app "index" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production
deployment.
Use a production WSGI server instead.
* Debug mode: on
* Restarting with watchdog (windowsapi)
* Debugger is active!
* Debugger PIN: 145-266-767
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
• Copy bagian yang dicetak tebal dan pastekan di browser.
Merender Halaman Web
• Untuk merender sebuah halaman web html, maka kita harus
menambahkan sebuah folder di dalam folder svmweb dengan nama folder
templates. Silahkan dibuat dari Anaconda prompt atau dibuat melalui
windows.
• Tambahkan juga pada bagian import render_template sehingga bagian
import menjadi:
• Pada file index.py ganti “Halo dunia, Saya sedang belajar web python
dengan:
render_template(“file html”);
Merender Halaman Web
• Sehingga code lengkap untuk saat ini adalah:
app = Flask(__name__)
@app.route('/’) # root
def main():
return render_template('base.html')
if __name__ == '__main__':
app.run(debug = True)
Menambah route baru
• Untuk menambah route baru, tambahkan code berikut di bawah
return render_template('base.html’) dengan merode POST dan
sebuah link predict seperti code berikut:
@app.route('/predict', methods=['POST'])
def home():
arr = np.array([[data1,data2,data3,data4,data5,data6,data7]])
pred = model.predict(arr)[0]
return render_template('model.html',data=pred)
import pickle
• Selanjutnya load model yang sduah kita buat pada minggu lalu
dengan code berikut:
model=pickle.load(open('gender_classification.sav','rb'))
Code Lengkap
from flask import Flask, render_template, request arr = np.array([[data1,data2,data3,data4,data5,
import numpy as np data6,data7]])
import pickle pred = model.predict(arr)[0]
model=pickle.load(open('gender_classification.sav','r return render_template('model.html',data=pred)
b'))
app = Flask(__name__) if __name__ == "__main__":
@app.route('/') app.run(debug=True)
def main():
return render_template('base.html')
@app.route('/predict', methods=['POST'])
def home():
data1 = request.form['a']
data2 = request.form['b']
data3 = request.form['c']
data4 = request.form['d']
data5 = request.form['e']
data6 = request.form['f']
data7 = request.form['g']
Front End Base.html
• Pada bagian ini kita akan membuat dua file front end, yaitu base.html
dan model.html. Berikut adalah code htmlnya. Berikut file base.html
<html>
<head>
<title>Gender Prediction</title>
<style>
#wrapper{
width : 850px;
margin : 0 auto;
}
</style>
</head>
<body id="wrapper" style="background-color:#CCAACC">
<table border="1" cellpadding="3" cellspacing="3" style="border-collapse:collapse;width:850px">
<tr><td colspan="3" style="text-align:center";><b><h2>PREDIKSI JENIS KELAMIN</h2></b></td></tr>
<tr><td colspan="3" style="text-align:center";><b><h3>Input Detail Tentang Dirimu</h3></b></td></tr>
<form method="post" action="{{url_for('home')}}">
Front End Base html
<tr><td><h3>Apakah rambut anda panjang? (Ya = 1. Tidak = 0)</h3></td>
<td>:</td><td><input type="text" name="a" placeholder="input 1"></td>
</tr>
<tr><td><h3>Masukkan lebar wajah anda (cm)</h3></td>
<td>:</td><td><input type="text" name="b" placeholder="input 2"></td>
</tr>
<tr><td><h3>Masukkan panjang wajah anda (cm)</h3></td>
<td>:</td><td><input type="text" name="c" placeholder="input 3"></td>
</tr>
<tr><td><h3>Apakah hidung anda lebar? (Ya = 1. Tidak = 0)</h3></td>
<td>:</td><td><input type="text" name="d" placeholder="input 4"></td>
</tr>
<tr><td><h3>Apakah hidung anda panjang? (Ya = 1. Tidak = 0)</h3></td>
<td>:</td><td><input type="text" name="e" placeholder="input 5"></td>
</tr>
<tr><td><h3>Apakah bibir anda tipis? (Ya = 1. Tidak = 0)</h3></td>
<td>:</td><td><input type="text" name="f" placeholder="input 6"></td>
</tr>
Front End Base.html
<tr><td><h3>Jarak antara hidung dan bibir panjang atau tidak? (Ya = 1. Tidak = 0)</h3></td>
<td>:</td><td><input type="text" name="g" placeholder="input 7"></td>
</tr>
<tr><td colspan="3" style="text-align:center";><input type="submit" value="PREDIKSI"></td></tr>
</form>
</table>
</body>
</html>
Pada bagain fron end di atas terdapat script {%if data== 0%} ... {%else%} … {%endif%} bagian ini
merupakan sintaks untuk python yang menytakan jika nilai data == 0, maka di bawahnya ada sintak
yang akan ditampilkan yaitu Perempuan. Pada bagian else yang berarti selain nilai data== 0, maka
tampilkan Laki-Laki. Pada bagian di atas juga terdapat sebuah link untuk membuka halaman home
dengan sintaks <a href="/">Home</a>
Merender Aplikasi
Untuk merender aplikasi kita Kembali ke Anaconda prompt. Ketikan
kode berikut pada Anaconda prompt: