Menghubungkan Flask dengan database SQL seperti PostgreSQL dan SQLite sangatlah mudah. Tetapi kerangka kerja disinkronkan dengan sempurna dengan database NoSQL seperti CouchDB juga. Dan sebagai manfaat tambahan, Anda dapat melakukan kueri data dengan mudah saat menggunakan CouchDB dengan Flask.
Siap membuat perubahan dengan menggunakan NoSQL seperti CouchDB dengan aplikasi Flask Anda? Berikut cara mengatur CouchDB di komputer lokal Anda dan menghubungkannya dengan Flask.
Apa Itu CouchDB?
CouchDB adalah database NoSQL yang saat ini dimiliki oleh Apache Software Foundation. Ditulis dengan Erlang, perangkat lunak ini pertama kali dirilis pada tahun 2005.
Tidak seperti database tertaut tabel biasa yang kemungkinan besar Anda gunakan, CouchDB adalah sistem manajemen database non-relasional yang menyimpan data sebagai JSON mentah.
CouchDB tidak memblokir, sehingga tidak mengunci database selama input data. Salah satu keunggulan CouchDB adalah ia menggunakan kebijakan kontrol konkurensi multi-versi untuk membaca dan menulis data. Sehingga memungkinkan input simultan dari beberapa pengguna tanpa gangguan dari struktur data yang ada di database.
Dengan demikian, CouchDB cepat selama kueri dan mudah digunakan saat menggunakan metode asinkron. Yang mengatakan, ini tidak membuatnya lebih baik daripada rekan SQL-nya. Setiap teknologi memiliki pro dan kontra.
Pengaturan CouchDB
Untuk mulai menggunakan CouchDB, unduh dan instal versi yang kompatibel dari Situs web resmi CouchDB.
Dan jika versi terbaru itu tidak bekerja untuk Anda, lanjutkan ke Arsip CouchDB dan unduh versi 1.6.1, yang merupakan versi CouchDB sebelumnya.
Setelah Anda menginstal CouchDB, jalankan di PC Anda seperti yang Anda lakukan pada aplikasi desktop lainnya.
Buka peramban Anda. Kemudian luncurkan server CouchDB dengan menempelkan yang berikut ke bilah alamat Anda:
http://localhost: 5984/_utils/index.html
Siapkan Python dan Flask
Tutorial ini, bagaimanapun, mengasumsikan bahwa Anda sudah menginstal Python di PC Anda. Jika tidak, pergi ke python.org dan instal versi terbaru Python di PC Anda.
Setelah Anda mengatur CouchDB, buat folder root proyek. Kemudian buka baris perintah Anda ke direktori itu dan buat Lingkungan virtual python.
Instal Flask versi terbaru di ruang virtual menggunakan pip:
tabung pemasangan pip
Hubungkan Flask Dengan CouchDB
Untuk mulai menggunakan CouchDB dengan aplikasi Flask Anda, instal Flask-CouchDB, paket runtime untuk menghubungkan database dengan Flask.
Untuk melakukan ini:
pip install Flask-CouchDB
Setelah Anda menginstal Flask-CouchDB berhasil, buat app.py file di folder root itu. Demikian pula, buat database.py file—ini menangani pembuatan database Anda.
Membuka database.py dan impor paket-paket berikut:
dari Server impor couchdb
Selanjutnya, buat database Anda di file yang sama menggunakan blok kode berikut:
dari Server impor couchdb
server = server()
db = server.create('muocouch')
Menjalankan database.py melalui KLI. Kemudian buka atau refresh server lokal CouchDB melalui browser Anda seperti yang Anda lakukan sebelumnya. Anda sekarang akan melihat database (muocouch dalam hal ini) terdaftar di CouchDB.
Terkait:Cara Menjalankan Skrip Python
Catatan: Pastikan Anda menggunakan konvensi penamaan huruf kecil untuk database, karena CouchDB mungkin tidak menerima huruf besar atau campuran.
Simpan Data CouchDB Pertama Anda Menggunakan Flask
Pada akhirnya, tujuan dari basis data apa pun adalah penyimpanan data. Setelah Anda memiliki database di CouchDB, Anda dapat mulai menyimpan data ke dalamnya dari aplikasi Flask Anda segera.
Untuk memulai, buka app.py dan impor paket-paket berikut:
dari labu impor Flask
dari Server impor couchdb
dari dokumen impor flaskext.couchdb
Selanjutnya, buat aplikasi Flask dan instance server CouchDB:
aplikasi = Labu (__name__, static_url_path='/static')
app.debug=Benar
server = server()
Sekarang mari kita simpan beberapa input pengguna ke CouchDB:
@app.route('/', metode=['GET', 'POST'])
daftar def():
pengguna = {
"nama pengguna":"situs media",
"email":"[email protected]",
"kata sandi":"data terenkripsi"
}
db = server['muocouch'] #pilih database
doc_id, doc_rev = db.save (pengguna) #simpan data Anda di database
kembali "Data Anda sekarang harus ada di database
"
Jika mau, Anda dapat mengatur server Flask Anda ke mode pengembangan sebelum menjalankannya.
Untuk melakukan ini, jalankan perintah berikut melalui CLI Anda:
atur FLASK_ENV=pengembangan
Perhatikan bahwa pengaturan mode server adalah opsional. Itu hanya membuat debugging kode Anda tidak merepotkan.
Namun terlepas dari pengaturan mode server, berikut cara memulai server Flask melalui CMD:
menjalankan labu
Flask, bagaimanapun, default port Anda ke host lokal: 5000. Anda sekarang akan melihat pesan di H2 tag setelah Anda memuat alamat ini melalui browser Anda.
Validasi Data dan Periksa Duplikat Menggunakan Kueri CouchDB
Untuk membakukan ini lebih lanjut, Anda dapat menggunakan kueri untuk memvalidasi input dan mencegah duplikat dalam database Anda. Membuat kueri CouchDB sedikit berbeda dari cara Anda melakukannya dengan database SQL.
CouchDB menggunakan apa yang disebutnya "tampilan JavaScript" untuk meminta data dari database. Untungnya, ini relatif sederhana.
Sebelum Anda melangkah lebih jauh, inilah tampilan tampilan kueri CouchDB dasar:
map_func = fungsi (dok)
{ memancarkan (doc.doc_rev, doc); }
myQuery = [docType].query (db, map_func, reduce_fun=Tidak ada)
Sekarang mari kita gunakan kode di atas secara praktis:
#Buat model objek dokumen bernama "Pengguna:"
kelas Pengguna (Dokumen):
doc_type = 'Pengguna'
@app.route('/', metode=['GET', 'POST'])
daftar def():
pengguna = {
"nama pengguna":"situs media",
"email":"[email protected]",
"kata sandi":"data terenkripsi"
}
db = server['muocouch'] #pilih database
# Gunakan fungsi tampilan untuk mengambil data Anda dari CouchDB
map_func = fungsi (dok)
{ memancarkan (doc.doc_rev, doc); }
# Dapatkan semua data dengan menjalankan kumpulan kueri
myQuery = User.query (db, map_func, reduce_fun=Tidak ada, reverse=True)
q = [i['username'] for i in myQuery] # Keluarkan semua nama pengguna dari database
q2 = [i['email'] for i in myQuery] # Keluarkan semua alamat email dari database
q3 = q+q2 # Gabungkan kedua kueri menjadi satu daftar
cetak (q3)
kembali "Data Anda sekarang ada di database
"
Kode di atas menggunakan Pengguna kelas untuk menanyakan data yang diambil oleh fungsi tampilan. Perhatikan baik-baik parameter dalam kumpulan kueri (myQuery).
Pencetakan q3, seperti yang Anda lakukan di atas, sekarang seharusnya menampilkan semua nama pengguna dan alamat email dalam database di dalam baris perintah.
Jadi, inilah cara Anda menggunakan kueri ini untuk memvalidasi input pengguna:
jika tidak (pengguna['nama pengguna'] di q3 atau pengguna['email'] di q3):
#simpan data anda ke database jika belum ada
doc_id, doc_rev = db.save (pengguna)
kembali "Terdaftar dengan sukses
"
lain:
kembali "Nama pengguna atau email ada
"
Menyegarkan browser Anda mengembalikan lain pernyataan setiap kali Anda mencoba memasukkan nama pengguna atau email yang sudah ada di database. Dan jika Anda memasukkan yang baru, itu berhasil menyimpan data Anda dengan menjalankan jika kondisi.
Terkait:Cara Menggunakan Pernyataan Python if
Itu dia! Anda baru saja membuat database NoSQL pertama Anda menggunakan Flask-CouchDB.
Meskipun membuat dan menanyakan database di CouchDB berkisar pada contoh yang kami soroti di sini, Anda dapat memeriksa fungsionalitas Flask lebih lanjut. Misalnya, Anda dapat memutar bidang input menggunakan wtforms dan tandai duplikat menggunakan pesan Flask kilatan.
Anda bahkan dapat meneruskan kueri Anda ke jQuery JavaScript untuk memvalidasi input dan memeriksa duplikat secara asinkron.
Apakah CouchDB Lebih Baik Dari Database SQL?
Menggunakan CouchDB atau database NoSQL lainnya dengan Flask atau teknologi pemrograman lainnya tergantung pada preferensi Anda. Tapi itu berguna saat berurusan dengan data tanpa struktur dan media mentah.
Karena itu, sebelum Anda memutuskan, Anda mungkin ingin melihat perbedaan antara database NoSQL dan SQL untuk membantu Anda memutuskan mana yang cocok untuk proyek Anda.
Memilih tipe database bisa jadi rumit. Haruskah Anda memilih SQL atau NoSQL?
Baca Selanjutnya
- Pemrograman
- basis data
- Pemrograman
- Tutorial Pengkodean
Idowu sangat menyukai teknologi dan produktivitas yang cerdas. Di waktu luangnya, dia bermain-main dengan coding dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutinitas sesekali. Semangatnya untuk menunjukkan kepada orang-orang tentang teknologi modern memotivasinya untuk menulis lebih banyak.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Klik di sini untuk berlangganan