Tutorial Flask - Boostrap
Tutorial Flask - Boostrap
Pendahuluan
Flask adalah kerangka kerja aplikasi web bersifat
kerangka kerja mikro yang ditulis dalam bahasa
pemrograman Python dan menggunakan dependensi
Werkzeug dan Jinja2.
Flask bisa digunakan untuk membuat website rumit yang berbasis database, memulai dengan
membuat halaman statik berguna untuk memperkenalkan alur kerja, yang nantinya digunakan
untuk membuat halaman lain yang lebih rumit.
Tahap Instalasi
Langkah Pengerjaan
2. Setelah itu ektrak boostrap yang sudah didownload tadi didalam folder static
3. Setelah itu kembali dan buka folder templates dan buat file base.html untuk template
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>Smart Home</title>
<link rel="stylesheet"
href="../static/css/bootstrap.rtl.min.css">
<script src="../static/js/bootstrap.min.js"></script>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="/">Home</a>
<button class="navbar-toggler" type="button" data-bs-
toggle="collapse" data-bs-target="#navbarNavDropdown" aria-
controls="navbarNavDropdown" aria-expanded="false" aria-
label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse"
id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item">
<li class="nav-item">
<a class="nav-link active"
href="/login">Login</a>
</li>
<a class="nav-link" aria-current="page"
href="/">Suhu</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/lampu">Lampu</a>
</li>
</ul>
</div>
<span class="navbar-text">
<a class="nav-link" href="#">Log out</a>
</span>
</div>
</nav>
<div class="container">
{% block content %} {% endblock %}
</div>
</body>
</html>
6. Setelah itu buat block content di div class=container untuk mengisi content nantintya
9. Setelah itu buat file lampu.html isinya sama seperti diatas tapi isi dari bloc
contentnnya berbeda
{% extends 'base.html' %}
{% block content %}
<h1 class="text-center">On / Off Lampu</h1>
<p class="text-center"><a href="#" class="btn btn-primary btn-lg
active" role="button" aria-pressed="true">On</a></p>
{% endblock %}
10. Setelah itu buat file login.html untuk form login yang isinya seperti sebelumnya tapi
isi dari block contentnya beda
{% extends 'base.html' %}
{% block content %}
<h1 class="text-center">Login</h1>
<div class="row justify-content-center">
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control"
id="exampleInputEmail1" aria-describedby="emailHelp"
placeholder="Enter email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control"
id="exampleInputPassword1" placeholder="Password">
</div>
<div class="form-check">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
{% endblock %}
12. Setelah itu ketik kode dibawah ini untuk mengimportkan library flask
14. Setelah itu buat route untuk memanggil file html yang sudah dibuat
15. Untuk jadinya seperti dibawah
app = Flask(__name__)
@app.route('/')
def suhu():
return render_template('index.html')
@app.route('/lampu')
def lampu():
return render_template('lampu.html')
@app.route('/login')
def login():
return render_template('login.html')
16. Jika selesai run project anda hasilnya akan seperti dibawah
Menggabungkan Flask dengan adminLte
1. Download adminLte disini
https://github.com/ColorlibHQ/AdminLTE/archive/refs/tags/v3.1.0.zip
5. Setelah itu copy file index.html dari adminLte ke folder templates kalian dan ubah namanya
menjadi base.html
6. Setelah itu edit file base.html sesuai dengan ketentuan seperti sebelumnya dengan mengubah
directory librarynya menjadi isi dari folder static
{% extends 'base.html' %}
{% block title %} Dashboard{% endblock %}
{% block content %}
<p>C</p>
</div>
<div class="icon">
<i class="ion ion-stats-bars"></i>
</div>
<a href="/chartSuhu" class="small-box-footer">More info <i
class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<div class="col-lg-3 col-6">
<!-- small box -->
<div class="small-box bg-warning">
<div class="inner">
<h3>Kelembapan</h3>
<p>C</p>
</div>
<div class="icon">
<i class="ion ion-pie-graph"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas
fa-arrow-circle-right"></i></a>
</div>
</div>
<p>C</p>
</div>
<div class="icon">
<i class="ion ion-stats-bars"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas
fa-arrow-circle-right"></i></a>
</div>
</div>
<div class="col-lg-3 col-6">
<!-- small box -->
<div class="small-box bg-image">
<div class="inner">
<h3>Kelembapan</h3>
<p>C</p>
</div>
<div class="icon">
<i class="ion ion-pie-graph"></i>
</div>
<a href="#" class="small-box-footer">More info <i class="fas
fa-arrow-circle-right"></i></a>
</div>
</div>
{% block chart %} {% endblock %}
{% endblock %}
10. Setelah itu kembali dan buat app.py untuk isi app.py seperti yang ada dibawah
app = Flask(__name__)
@app.route('/')
def hello():
return render_template('index.html')
@app.route('/chartSuhu')
def suhu():
return render_template('chart.html')
@app.route('/lampu')
def lampu():
return render_template('lampu.html')
11. Jika langkah anda sudah benar akan muncul tampilan seperti yang ada dibawah