Cara Mengembangkan Aplikasi CRUD dengan Flask?
Tutorial ini akan memandu Anda melalui pembuatan aplikasi CRUD (buat, baca, perbarui, hapus) menggunakan Flask.
Kami akan mengintegrasikan Back4app sebagai layanan backend kami untuk menyederhanakan manajemen data. Anda akan belajar cara mengatur proyek Back4app, merancang struktur data yang fleksibel, dan menerapkan fungsionalitas CRUD menggunakan Flask.
Dalam panduan ini, Anda akan terlebih dahulu membuat proyek Back4app bernama Basic-CRUD-App-Flask yang menawarkan solusi penyimpanan data non-relasional yang kuat.
Anda akan mendefinisikan skema data Anda dengan kelas dan bidang baik secara manual atau menggunakan AI Agent Back4app.
Setelah mengonfigurasi backend Anda dengan antarmuka Admin Back4app, Anda akan menghubungkan aplikasi Flask Anda ke layanan melalui panggilan REST API. Tutorial ini juga mencakup manajemen akses yang aman untuk data Anda.
Pada akhir, Anda akan memiliki aplikasi Flask yang siap produksi yang mampu melakukan operasi CRUD bersama dengan autentikasi pengguna yang aman dan penanganan data.
- Cara membuat aplikasi CRUD berbasis Flask dengan backend non-relasional.
- Cara menyusun backend Anda di Back4app dan mengintegrasikannya dengan proyek Flask.
- Cara memanfaatkan antarmuka Admin Back4app untuk mengelola operasi CRUD dengan mudah.
- Cara menerapkan aplikasi Flask Anda, termasuk menggunakan Docker untuk kontainerisasi.
Sebelum Anda mulai, pastikan Anda memiliki:
- Lingkungan pengembangan Python yang sudah disiapkan. Gunakan editor seperti VSCode atau PyCharm dan instal Python 3.8 (atau lebih baru).
- Masuk ke akun Back4app Anda.
- Klik pada “Aplikasi Baru” dari dasbor Anda.
- Masukkan nama proyek: Basic-CRUD-App-Flask dan selesaikan proses pengaturan.

Setelah dibuat, proyek Anda muncul di dasbor, berfungsi sebagai dasar untuk konfigurasi backend Anda.
Untuk aplikasi ini, Anda akan menetapkan beberapa kelas dalam proyek Back4app Anda. Di bawah ini adalah contoh kelas inti dan bidangnya yang penting untuk operasi CRUD.
Bidang | Tipe | Deskripsi |
---|---|---|
_id | ObjectId | Pengidentifikasi unik yang dihasilkan secara otomatis. |
judul | String | Nama atau judul item. |
deskripsi | String | Gambaran singkat tentang item tersebut. |
dibuatPada | Tanggal | Timestamp ketika item dibuat. |
diperbaruiPada | Tanggal | Timestamp untuk pembaruan terbaru. |
Bidang | Tipe | Deskripsi |
---|---|---|
_id | ObjectId | Pengidentifikasi unik yang dihasilkan secara otomatis. |
nama pengguna | String | Nama pengguna yang unik untuk pengguna. |
String | Alamat email yang unik. | |
hashKataSandi | String | Kata sandi yang di-hash dengan aman untuk otentikasi. |
dibuatPada | Tanggal | Timestamp ketika akun pengguna dibuat. |
diperbaruiPada | Tanggal | Timestamp untuk pembaruan akun terakhir. |
Anda dapat membuat kelas ini dan menambahkan field langsung di dasbor Back4app Anda.

Anda dapat menambahkan kolom dengan memilih jenis data, memberi nama pada field, mengatur nilai default, dan menandainya sebagai wajib.

AI Agent di dasbor Anda dapat secara otomatis menetapkan skema berdasarkan instruksi Anda. Alat ini menyederhanakan proses dan memastikan model data Anda optimal untuk tugas CRUD.
- Buka AI Agent: Masuk ke dasbor Back4app Anda dan temukan AI Agent di bawah pengaturan proyek.
- Deskripsikan Skema Anda: Berikan prompt rinci yang mencantumkan kelas dan bidang.
- Konfirmasi Pengaturan: Tinjau skema yang diusulkan dan setujui perubahan.
Proses yang didorong oleh AI ini menghemat waktu dan menjamin model data yang konsisten dan efektif.
Antarmuka Admin Back4app menyediakan solusi tanpa kode untuk mengelola data backend Anda. Dengan fitur seret dan lepas, Anda dapat dengan mudah melakukan operasi CRUD—seperti menambahkan, mengedit, atau menghapus catatan.
- Pergi ke menu “Lainnya” di dasbor Back4app Anda.
- Pilih “Aplikasi Admin” dan klik “Aktifkan Aplikasi Admin.”
- Buat akun admin Anda, yang juga mengatur peran awal seperti B4aAdminUser.

Setelah aktivasi, masuk ke antarmuka Admin untuk mengelola data proyek Anda.

Dalam antarmuka Admin, Anda dapat:
- Masukkan Entri Baru: Klik “Tambahkan Rekaman” dalam sebuah kelas (misalnya, Item) untuk membuat data baru.
- Lihat dan Modifikasi Entri: Pilih rekaman mana pun untuk melihat detail atau memperbarui bidang.
- Hapus Rekaman: Hapus entri yang tidak lagi diperlukan.
Antarmuka yang mudah digunakan ini meningkatkan produktivitas dengan menyederhanakan manajemen backend.
Dengan backend Anda sudah disiapkan, langkah selanjutnya adalah menghubungkan aplikasi Flask Anda ke Back4app.
Karena tidak ada SDK Parse khusus untuk Flask, Anda akan menggunakan panggilan REST API. Di aplikasi Flask Anda, Anda dapat memanfaatkan requests pustaka untuk melakukan operasi CRUD.
Instal Library Requests: Jalankan perintah berikut di terminal Anda:
Konfigurasi Modul Python untuk Panggilan API: Buat file bernama back4app_api.py:
Integrasikan Fungsi API dalam Rute Flask Anda: Sebagai contoh, dalam app.py:
Contoh ini menggambarkan bagaimana menggunakan panggilan REST dalam Flask untuk berinteraksi dengan backend Back4app.
Lindungi data Anda dengan mengonfigurasi kontrol akses. Misalnya, saat membuat item baru, Anda mungkin membatasi akses hanya untuk penciptanya.
Berikut adalah contoh menggunakan panggilan API dengan akses terkontrol:
Sesuaikan Izin Tingkat Kelas (CLP) langsung di dasbor Back4app untuk memastikan hanya pengguna yang terautentikasi yang dapat mengakses kelas tertentu.
Back4app menawarkan manajemen pengguna bawaan melalui kelas Penggunanya. Di aplikasi Flask Anda, Anda dapat membuat endpoint untuk pendaftaran dan login.
Anda dapat membuat rute Flask yang sesuai untuk menangani pendaftaran dan login pengguna menggunakan fungsi-fungsi ini.
Back4app menyederhanakan proses deployment. Anda dapat men-deploy aplikasi Flask Anda melalui beberapa metode, termasuk Docker.
- Siapkan Aplikasi Anda: Pastikan semua file dan dependensi yang diperlukan disertakan.
Uji Secara Lokal: Jalankan aplikasi Anda secara lokal dengan:
Struktur yang umum mungkin adalah:
Sertakan sebuah Dockerfile di root proyek:
- Hubungkan Repositori GitHub Anda: Pastikan kode Anda telah dipush ke GitHub.
- Konfigurasi Pengaturan Penyebaran: Di dasbor Back4app, gunakan fitur Penyebaran Web untuk menghubungkan repositori Anda (misalnya, Basic-CRUD-App-Flask) dan pilih cabang Anda.
- Tentukan Perintah Build: Tentukan perintah build (misalnya, pip install -r requirements.txt) dan lokasi aplikasi Anda.
- Sebarkan: Klik Sebarkan dan pantau log hingga aplikasi Anda aktif.
Kerja bagus! Anda telah berhasil membuat aplikasi CRUD berbasis Flask yang terintegrasi dengan Back4app.
Anda telah mendirikan proyek bernama Basic-CRUD-App-Flask, mendefinisikan model data untuk Item dan Pengguna, dan mengelola backend Anda melalui antarmuka Admin Back4app.
Selain itu, Anda menghubungkan aplikasi Flask Anda menggunakan panggilan REST API dan menerapkan langkah-langkah keamanan.
Apa Selanjutnya?
- Perluas Fungsionalitas: Pertimbangkan untuk menambahkan fitur seperti pencarian lanjutan, tampilan item yang lebih detail, atau pembaruan waktu nyata.
- Tingkatkan Layanan Backend: Jelajahi fungsi cloud, integrasikan API pihak ketiga, atau terapkan kontrol akses berbasis peran.
- Perdalam Keterampilan Anda: Kunjungi dokumentasi Back4app dan sumber daya lainnya untuk lebih menyempurnakan aplikasi Anda.
Selamat coding dan semoga sukses dengan aplikasi CRUD Flask Anda!
