Flask Uygulamanızı CouchDB ile Nasıl Bağlarsınız: Bir NoSQL Veritabanı

Flask Uygulamanızı CouchDB ile Nasıl Bağlarsınız: Bir NoSQL Veritabanı

Flask'ı PostgreSQL ve SQLite gibi SQL veritabanlarına bağlamak çocuk oyuncağı. Ancak çerçeve, CouchDB gibi NoSQL veritabanlarıyla da mükemmel bir şekilde senkronize olur. Ek bir avantaj olarak, CouchDB'yi Flask ile kullandığınızda verilerinizi kolayca sorgulayabilirsiniz.





Flask uygulamanızla CouchDB gibi bir NoSQL kullanarak değişiklik yapmaya hazır mısınız? CouchDB'yi yerel makinenize nasıl kuracağınız ve Flask ile nasıl bağlayacağınız aşağıda açıklanmıştır.





CouchDB Nedir?

CouchDB, şu anda Apache Software Foundation'a ait bir NoSQL veritabanıdır. Erlang ile yazılan yazılım ilk olarak 2005 yılında piyasaya sürüldü.





Büyük olasılıkla alışkın olduğunuz normal tablo bağlantılı veritabanlarının aksine, CouchDB, verileri ham JSON olarak depolayan, ilişkisel olmayan bir veritabanı yönetim sistemidir.

CouchDB engellemez, bu nedenle veri girişi sırasında veritabanını kilitlemez. CouchDB'nin güçlü noktalarından biri, veri okumak ve yazmak için çok sürümlü bir eşzamanlılık kontrol politikası kullanmasıdır. Böylece, veri tabanındaki mevcut veri yapısından etkilenmeden birden fazla kullanıcıdan aynı anda girdi alınmasına izin verir.



Bu nedenle, CouchDB sorgular sırasında hızlıdır ve asenkron yöntemler kullanırken çalışması kolaydır. Bununla birlikte, bu onu SQL muadilinden daha iyi yapmaz. Her teknolojinin artıları ve eksileri vardır.

CouchDB Kurulumu

CouchDB'yi kullanmaya başlamak için, şu adresten uyumlu bir sürüm indirip yükleyin: CouchDB'nin resmi web sitesi .





Ve bu en son sürüm işinize yaramazsa, şuraya geçin: CouchDB arşivi ve CouchDB'nin önceki bir sürümü olan 1.6.1 sürümünü indirin.

CouchDB'yi yükledikten sonra, diğer masaüstü uygulamalarında yaptığınız gibi PC'nizde çalıştırın.





Tarayıcınızı açın. Ardından, aşağıdakileri adres çubuğunuza yapıştırarak CouchDB'nin sunucusunu başlatın:

http://localhost:5984/_utils/index.html

Python ve Flask'ı Ayarlayın

Ancak bu eğitim, PC'nizde zaten Python yüklü olduğunu varsayar. Aksi takdirde, gidin piton.org ve Python'un en son sürümünü bilgisayarınıza yükleyin.

CouchDB'yi kurduktan sonra bir proje kök klasörü oluşturun. Ardından komut satırınızı bu dizine açın ve bir Python sanal ortamı .

Flask'ın en son sürümünü kullanarak sanal alana yükleyin. pip :

youtube videolarını indirmek yasa dışı mı
pip install flask

CouchDB ile Flask'ı bağlayın

Flask uygulamanızla CouchDB'yi kullanmaya başlamak için Flask-CouchDB , veritabanını Flask ile bağlamak için çalışma zamanı paketi.

Bunu yapmak için:

pip install Flask-CouchDB

yükledikten sonra Flask-CouchDB başarılı bir şekilde oluşturun app.py bu kök klasördeki dosya. Benzer şekilde, bir veritabanı.py dosya—bu, veritabanı oluşturma işleminizi gerçekleştirir.

Açık veritabanı.py ve aşağıdaki paketleri içe aktarın:

from couchdb import Server

Ardından, aşağıdaki kod bloğunu kullanarak aynı dosyada veritabanınızı oluşturun:

from couchdb import Server
server = Server()
db = server.create('muocouch')

Uygulamak veritabanı.py CLI aracılığıyla. Ardından, daha önce yaptığınız gibi tarayıcınız aracılığıyla CouchDB'nin yerel sunucusunu açın veya yenileyin. Şimdi veritabanını görmelisiniz ( muoccouch bu durumda) CouchDB'de listelenir.

İlgili: Python Komut Dosyası Nasıl Çalıştırılır

Not: CouchDB büyük veya karışık durumları kabul etmeyebileceğinden, veritabanları için küçük harf adlandırma kuralı kullandığınızdan emin olun.

Flask Kullanarak İlk CouchDB Verilerinizi Depolayın

Sonuç olarak, herhangi bir veritabanının amacı veri depolamadır. CouchDB'de bir veritabanınız olduğunda, hemen Flask uygulamanızdan veri depolamaya başlayabilirsiniz.

Başlamak için açın app.py ve aşağıdaki paketleri içe aktarın:

from flask import Flask
from couchdb import Server
from flaskext.couchdb import Document

Ardından, bir Flask uygulaması ve CouchDB sunucu örneği oluşturun:

app = Flask(__name__, static_url_path='/static')
app.debug=True
server = Server()

Şimdi bazı kullanıcı girdilerini CouchDB'ye kaydedelim:

@app.route('/', methods=['GET', 'POST'])
def register():
user = {
'username':'media site',
'email':'justmail@gmail.com',
'password':'encrypteddata'
}
db = server['muocouch'] #select the database
doc_id, doc_rev = db.save(user) #store your data in th database
return '

Your data should now be in the database

'

İsterseniz Flask sunucunuzu çalıştırmadan önce geliştirme moduna ayarlayabilirsiniz.

Bunu yapmak için, CLI'niz aracılığıyla aşağıdaki komutu çalıştırın:

set FLASK_ENV=development

Sunucu modunun ayarlanmasının isteğe bağlı olduğunu unutmayın. Yalnızca kodunuzda hata ayıklamayı sorunsuz hale getirir.

Ancak sunucu modu ayarından bağımsız olarak, Flask sunucusunu CMD aracılığıyla nasıl başlatacağınız aşağıda açıklanmıştır:

flask run

Ancak Flask, bağlantı noktanızı varsayılan olarak yerel ana bilgisayar: 5000 . Mesajı şimdi görmelisiniz. H2 Bu adresi tarayıcınız aracılığıyla yüklediğinizde etiketleyin.

CouchDB Sorgularını Kullanarak Verileri Doğrulayın ve Kopyaları Kontrol Edin

Bunu daha da standart hale getirmek için, girdileri doğrulamak ve veritabanınızdaki yinelemeleri önlemek için sorguları kullanabilirsiniz. CouchDB'yi sorgulamak, bunu SQL veritabanlarıyla nasıl yaptığınızdan biraz farklıdır.

CouchDB, veritabanındaki verileri sorgulamak için 'JavaScript görünümleri' dediği şeyi kullanır. Neyse ki, bu nispeten basittir.

Daha fazla ilerlemeden önce, temel bir CouchDB sorgu görünümü şöyle görünür:

map_func = '''function(doc)
{ emit(doc.doc_rev, doc); }'''
myQuery = [docType].query(db, map_func, reduce_fun=None)

Şimdi yukarıdaki kodu pratik olarak kullanalım:

#Create a document object model called ' Users :'
class User(Document):
doc_type = 'User'
@app.route('/', methods=['GET', 'POST'])
def register():
user = {
'username':'media site',
'email':'justmail@gmail.com',
'password':'encrypteddata'
}
db = server['muocouch'] #select the database
# Use the view function to fetch your data from CouchDB
map_func = '''function(doc)
{ emit(doc.doc_rev, doc); }'''
# Get all the data by running a query set
myQuery = User.query(db, map_func, reduce_fun=None, reverse=True)
q = [i['username'] for i in myQuery] # Loop out all the usernames from the database
q2 = [i['email'] for i in myQuery] # Loop out all the email addresses from the database
q3 = q+q2 # Merge both queries into a single list
print(q3)
return '

Your data is now in the database

'

Yukarıdaki kod, kullanıcı görünüm işlevi tarafından getirilen verileri sorgulamak için sınıf. Sorgu kümesindeki parametrelere çok dikkat edin ( benim sorgum ).

Baskı q3 , yukarıda yaptığınız gibi, şimdi komut satırındaki veritabanındaki tüm kullanıcı adlarını ve e-posta adreslerini çıkarmalısınız.

Kullanıcıların girdilerini doğrulamak için bu sorguyu şu şekilde kullanabilirsiniz:

if not (user['username'] in q3 or user['email'] in q3):
#store your data into the database if itdoesn't exist
doc_id, doc_rev = db.save(user)
return '

Registered successfully

'
else:
return '

Username or email exists

'

Tarayıcınızı yenilemek, Başka Veritabanında bulunan bir kullanıcı adı veya e-postayı her girmeye çalıştığınızda bildirim. Ve yeni bir tane giriyorsanız, aşağıdakileri yürüterek verilerinizi başarıyla depolar. Eğer şart.

İlgili: Python if İfadesi Nasıl Kullanılır

Bu kadar! Flask-CouchDB kullanarak ilk NoSQL veritabanınızı oluşturdunuz.

CouchDB'de veritabanları oluşturmak ve sorgulamak burada vurguladığımız örnekler etrafında dönse de, Flask'ın işlevlerini daha fazla inceleyebilirsiniz. Örneğin, kullanarak giriş alanlarını döndürebilirsiniz. ağırlık formları ve Flask'ın mesajını kullanarak kopyaları işaretleyin flaş .

Hatta girdileri doğrulamak ve kopyaları eşzamansız olarak kontrol etmek için sorgunuzu JavaScript'in jQuery'sine iletebilirsiniz.

CouchDB, SQL Veritabanlarından Daha İyi mi?

CouchDB veya herhangi bir NoSQL veritabanını Flask veya başka bir programlama teknolojisi ile kullanmak tercihinize bağlıdır. Ancak yapısız veriler ve ham medya ile uğraşırken kullanışlıdır.

Bununla birlikte, karar vermeden önce, projeniz için hangisinin uygun olduğuna karar vermenize yardımcı olması için NoSQL ve SQL veritabanları arasındaki farklara bakmak isteyebilirsiniz.

Paylaş Paylaş Cıvıldamak E-posta SQL ve NoSQL: Bir Sonraki Projeniz İçin En İyi Veritabanı Hangisi?

Bir veritabanı türü seçmek zor olabilir. SQL'i mi yoksa NoSQL'i mi seçmelisiniz?

Sonrakini Oku
İlgili konular
  • Programlama
  • veri tabanı
  • Programlama
  • Kodlama Eğitimleri
Yazar hakkında Idisou Omisola(94 Makale Yayımlandı)

Idowu akıllı teknoloji ve üretkenlik konusunda tutkulu. Boş zamanlarında kodlamayla uğraşıyor ve canı sıkıldığında satranç tahtasına geçiyor ama arada sırada rutinden kopmayı da seviyor. İnsanlara modern teknolojinin yolunu gösterme tutkusu onu daha fazla yazmaya motive ediyor.

Idowu Omisola'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın