Flask and Databases
Flask and Databases
Capainan Pembelajaran
Multi-select
Status Done
Pendahuluan
Halo Mahasiswa Stupenss, selamat datang kembali di sesi pembelajaran Flask! Pada materi kali ini, kita akan
membahas topik yang sangat penting dalam pengembangan aplikasi web yaitu Flask Database menggunakan
SQLAlchemy. Materi ini merupakan kelanjutan dari pembahasan sebelumnya tentang Templates dan Form
yang telah kita pelajari. Dengan mempelajari Flask Database menggunakan SQLAlchemy, kamu akan
memahami bagaimana cara membuat dan mengelola database pada aplikasi Flask yang kamu buat. Mari kita
mulai pembelajaran ini dan temukan bagaimana Flask Database menggunakan SQLAlchemy dapat
membantu kamu dalam mengembangkan aplikasi web yang lebih dinamis dan interaktif!
Coba Stupenss, bayangkan kamu sebagai seorang pengembang aplikasi web yang ingin menghubungkan
aplikasimu dengan database relasional seperti MySQL atau PostgreSQL. Kamu pasti tahu bahwa untuk
melakukan interaksi dengan database, kamu harus menulis kode SQL yang cukup kompleks, terutama jika
kamu ingin melakukan operasi- operasi seperti pengambilan data, pembaruan data, atau penghapusan data.
Nah, itulah sebabnya SQLAlchemy hadir untuk membantumu mengatasi masalah ini.
Dengan menggunakan SQLAlchemy, kamu tidak perlu lagi menulis kode SQL yang rumit. Sebaliknya, kamu
dapat menggunakan sintaks Python yang lebih familiar dan mudah dipahami. SQLAlchemy akan mengubah
sintaks Pythonmu ke dalam bahasa SQL yang dapat dipahami oleh database relasional yang kamu gunakan.
Dengan begitu, kamu dapat melakukan operasi- operasi pada database dengan lebih mudah dan efisien,
tanpa harus khawatir dengan perbedaan-perbedaan detail dari masing-masing jenis database.
1. Instalasi SQLalchemy
Pertama-tama, pastikan Kamu telah menginstall SQLAlchemy pada virtual environment. Kamu dapat
melakukannya dengan menjalankan perintah pip install SQLAlchemy pada terminal atau command prompt,
eits..!! sebelu melakukan perintah install pastikan kamu sudah mengaktifkan virtual environtment
kamu yaa.
Install SQLAlchemy
3. Membuat model
Setelah melakukan konfigurasi koneksi database, selanjutnya kita perlu membuat model atau representasi
objek dari tabel di dalam database. Model ini akan menjadi objek yang akan kita gunakan untuk melakukan
operasi pada tabel di dalam database. Berikut adalah contoh membuat model pada SQLAlchemy:
def __repr__(self):
return "<TodoModel(todo='%s', status='%s', crate_at='%s')>" % (
self.todo, self.status, self.crate_at)
# Membuat tabel
Base.metadata.create_all(engine)
Pada contoh di atas, kita membuat model TodoModel yang merepresentasikan tabel todo di dalam database.
Kita menggunakan SQLAlchemy ORM (Object-Relational Mapping) untuk memetakan tabel todo menjadi
sebuah kelas Python bernama TodoModel. Kita mendefinisikan atribut id, todo, ststus, dan create_at pada
kelas TodoModel yang merepresentasikan kolom di dalam tabel todo.
4. Membuat Session
Setelah membuat model, selanjutnya kita perlu membuat session atau sesi yang memungkinkan kita untuk
melakukan operasi pada tabel di dalam database. Session ini akan menjadi jembatan antara aplikasi Flask
kita dengan database. Berikut adalah contoh membuat session pada SQLAlchemy:
Session = sessionmaker(bind=engine)
session = Session()
Pada contoh di atas, kita membuat objek session menggunakan sessionmaker yang terhubung dengan objek
engine yang telah kita buat sebelumnya. Objek session ini nantinya akan kita gunakan untuk melakukan
operasi CRUD pada tabel di dalam database.
#App
app = Flask(__name__)
# menampilkan data
@app.route("/" , methods=['GET'])
def index():
# mengambil data dari database
todo_list = ({
'id': todo.id,
'todo': todo.todo,
'status': todo.status,
'crate_at': todo.crate_at
} for todo in session.query(TodoModel).all())
return render_template("index.html", todo_list=todo_list)
if __name__ == "__main__":
app.run(debug=True)
Pada contoh di atas, kita membuat sebuah aplikasi Flask sederhana yang dapat melakukan operasi CRUD
pada tabel users di dalam database PostgreSQL. Aplikasi ini memiliki empat endpoint yaitu:
3. /delete/<int:user_id> untuk menghapus data user berdasarkan id dengan mengubah status pada
database.
6. Membuat template
Kemudian pada tahap akhir kita akan membuat template untuk menampilkan data yang ada pada database
sehingga data dapat di baca dengan jelas, untuk contoh templatenya seperti ini ya stupenss, namun kamu
dapat memodifikasinya sendiri yaa
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Todo List</title>
✨ Hore Stupenss! kamu telah belajar membuat todolist sederhana dengan mengimplementasikan
ORM SQLAlchemy padak Flask Programing, semoga materi yang disampaikan dapat dipahami ya,
jika ada kesulitan silhkan bertanya ya, jangan lupa untuk mengerjakan quiz dan dibawah juga ada
refrensi yang dapat kamu gunakan untuk mendalami materi! Semangat belajar Stupenss.
Quiz
1. Apa itu SQLAlchemy?
a. Sebuah bahasa pemrograman
b. Sebuah framework untuk membuat aplikasi web dengan Python
c. Sebuah package untuk menghubungkan Python dengan database relasional
d. Sebuah server web open source
Refrensi
https://www.freecodecamp.org/news/structuring-a-flask-restplus-web-service-for-production-builds-
c2ec676de563/
https://codepolitan.com/blog/menjadi-developer-web-dengan-python-dan-flask-database-5a601bca6febd
https://www.sqlalchemy.org/
https://python-adv-web-apps.readthedocs.io/en/latest/flask_db1.html#setup-flask-sqlalchemy
https://flask-sqlalchemy.palletsprojects.com/en/3.0.x/
https://towardsdatascience.com/sqlalchemy-python-tutorial-79a577141a91