Flaski ühendamine SQL -andmebaasidega, nagu PostgreSQL ja SQLite, on lihtne. Kuid raamistik sünkroonib suurepäraselt ka NoSQL -i andmebaasidega, nagu CouchDB. Täiendava eelisena saate CouchDB ja Flaski kasutamisel hõlpsalt oma andmeid pärida.

Kas olete valmis muudatusi tegema, kasutades oma Flaski rakendusega NoSQL -i nagu CouchDB? Siit saate teada, kuidas seadistada CouchDB oma kohalikku masinasse ja ühendada see Flaskiga.

Mis on CouchDB?

CouchDB on NoSQL andmebaas, mis kuulub praegu Apache Software Foundationile. Erlangiga kirjutatud tarkvara ilmus esmakordselt 2005. aastal.

Erinevalt tavalistest tabelitega seotud andmebaasidest, millega olete tõenäoliselt harjunud, on CouchDB mitterelatsiooniline andmebaasihaldussüsteem, mis salvestab andmed töötlemata JSON-vormingus.

CouchDB ei blokeeri, seega ei lukusta see andmebaasi andmete sisestamise ajal. CouchDB üks tugevaid külgi on see, et see kasutab andmete lugemiseks ja kirjutamiseks mitme versiooni samaaegsuse juhtimise poliitikat. Seega võimaldab see samaaegseid sisendeid mitmelt kasutajalt ilma andmebaasi andmete olemasoleva struktuuri sekkumiseta.

instagram viewer

Seega on CouchDB päringute ajal kiire ja asünkroonsete meetodite kasutamisel lihtne töötada. See tähendab, et see ei muuda seda SQL -i vastest paremaks. Igal tehnoloogial on oma plussid ja miinused.

CouchDB seadistamine

CouchDB kasutamise alustamiseks laadige alla ja installige ühilduv versioon saidilt CouchDB ametlik veebisait.

Ja kui see uusim versioon teie jaoks ei tööta, jätkake CouchDB arhiiv ja laadige alla versioon 1.6.1, mis on CouchDB varasem versioon.

Kui olete CouchDB installinud, käivitage see oma arvutis nagu iga teine ​​töölauarakendus.

Avage oma brauser. Seejärel käivitage CouchDB server, kleepides oma aadressiribale järgmise:

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

Seadistage Python ja Flask

See õpetus eeldab aga, et teie arvutisse on Python juba installitud. Muidu minge aadressile python.org ja installige oma arvutisse Pythoni uusim versioon.

Kui olete CouchDB seadistanud, looge projekti juurkaust. Seejärel avage oma käsurea sellesse kataloogi ja looge a Pythoni virtuaalne keskkond.

Installige Flaski uusim versioon virtuaalsesse ruumi, kasutades pip:

pip paigalduskolb

Ühendage kolb CouchDB -ga

CouchDB kasutamise alustamiseks rakendusega Flask installige see Kolb-diivanDB, käituspakett andmebaasi ühendamiseks Flaskiga.

Selleks tehke järgmist.

pip paigaldage Flask-CouchDB

Kui olete installinud Kolb-diivanDB looge edukalt app.py faili sellesse juurkausta. Samamoodi looge a database.py fail - see tegeleb teie andmebaasi loomisega.

Avatud database.py ja importige järgmised paketid:

couchdb impordiserverist

Seejärel looge oma andmebaas samasse faili, kasutades järgmist koodiplokki:

couchdb impordiserverist
server = Server ()
db = server.create ('muocouch')

Käivita database.py CLI kaudu. Seejärel avage või värskendage oma brauseri kaudu CouchDB kohalikku serverit nagu varem. Nüüd peaksite nägema andmebaasi (muocouch sel juhul) loetletud CouchDB -s.

Seotud:Kuidas käivitada Pythoni skripti

Märge: Veenduge, et kasutate andmebaaside jaoks väiketähtede nimetamise tava, kuna CouchDB ei pruugi aktsepteerida suurtähti või segatähti.

Salvestage oma esimese CouchDB andmed kolvi abil

Lõppkokkuvõttes on iga andmebaasi eesmärk andmete salvestamine. Kui teil on CouchDB -s andmebaas, saate kohe oma rakendusse Flask hakata sinna andmeid salvestama.

Alustamiseks avage app.py ja importige järgmised paketid:

kolvi impordist Kolb
couchdb impordiserverist
from flaskext.couchdb impordi dokument

Seejärel looge Flaski rakendus ja CouchDB serveri eksemplar:

app = kolb (__name__, static_url_path = '/staatiline')
app.debug = Tõsi
server = Server ()

Salvestame nüüd mõned kasutaja sisendid CouchDB -sse:

@app.route ('/', Method = ['GET', 'POST'])
def register ():
kasutaja = {
"kasutajanimi": "meediasait",
"email": "[email protected]",
"parool": "encrypteddata"
}
db = server ['muocouch'] #vali andmebaas
doc_id, doc_rev = db.save (kasutaja) #salvestage oma andmed andmebaasi
tagasi "

Teie andmed peaksid nüüd andmebaasis olema

"

Soovi korral saate oma Flaski serveri enne selle käivitamist arendusrežiimi seadistada.

Selleks käivitage oma CLI kaudu järgmine käsk:

komplekt FLASK_ENV = areng

Pange tähele, et serverirežiimi seadistamine on valikuline. See muudab teie koodi silumise probleemideta.

Kuid olenemata serverirežiimi seadetest, saate Flaski serverit CMD kaudu käivitada järgmiselt.

kolbjooks

Flask aga vaikimisi teie port kohalik peremees: 5000. Nüüd peaksite sõnumit kaustas nägema H2 märgend, kui laadite selle aadressi oma brauseri kaudu.

Andmete kinnitamine ja duplikaatide kontrollimine CouchDB päringute abil

Selle edasiseks standardiseerimiseks võite kasutada päringuid sisendite kinnitamiseks ja andmebaasis topeltkohtade vältimiseks. CouchDB päring erineb natuke sellest, kuidas seda SQL -andmebaasidega teha.

CouchDB kasutab andmebaasist andmete pärimiseks seda, mida ta nimetab JavaScripti vaadeteks. Õnneks on see suhteliselt lihtne.

Enne edasist arengut näeb CouchDB põhiline päringuvaade välja järgmine.

map_func = funktsioon (doc) 
{emit (doc.doc_rev, doc); }
myQuery = [docType] .query (db, map_func, Redu_fun = puudub)

Nüüd kasutame ülaltoodud koodi praktiliselt:

#Looge dokumendiobjekti mudel nimega "Kasutajad:"
klassi kasutaja (dokument):
doc_type = 'Kasutaja'
@app.route ('/', Method = ['GET', 'POST'])
def register ():
kasutaja = {
"kasutajanimi": "meediasait",
"email": "[email protected]",
"parool": "encrypteddata"
}
db = server ['muocouch'] #vali andmebaas
# Kasutage vaatefunktsiooni, et tuua oma andmed CouchDB -st
map_func = funktsioon (doc)
{emit (doc.doc_rev, doc); }
# Hankige kõik andmed, käivitades päringukomplekti
myQuery = User.query (db, map_func, Redu_fun = Puudub, vastupidine = tõene)
q = [i ['kasutajanimi'] i jaoks myQuery -s] # Loo kõik kasutajanimed andmebaasist välja
q2 = [i ['email'] for i in myQuery] # Loo kõik e -posti aadressid andmebaasist välja
q3 = q+q2 # Ühendage mõlemad päringud ühte loendisse
print (q3)
tagasi "

Teie andmed on nüüd andmebaasis

"

Ülaltoodud kood kasutab Kasutaja klassi vaatamisfunktsiooni poolt toodud andmete päringute tegemiseks. Pöörake suurt tähelepanu päringukomplekti parameetritele (myQuery).

Trükkimine q3, nagu te tegite eespool, peaks nüüd käsurealt väljastama kõik andmebaasis olevad kasutajanimed ja e -posti aadressid.

Nii saate selle päringu abil kasutajate sisendeid kinnitada järgmiselt.

kui mitte (kasutaja ['kasutajanimi'] kolmandas kvartalis või kasutaja ['e -post'] kolmandas kvartalis):
#salvestage oma andmed andmebaasi, kui neid pole olemas
doc_id, doc_rev = db.save (kasutaja)
tagasi "

Registreerimine õnnestus

"
muidu:
tagasi "

Kasutajanimi või e -posti aadress on olemas

"

Brauseri värskendamisel kuvatakse muidu avaldus iga kord, kui proovite sisestada kasutajanime või e -posti aadressi, mis on juba andmebaasis. Ja kui sisestate uue, salvestab see teie andmed edukalt, käivitades kui seisukorras.

Seotud:Kuidas Pythoni kasutada, kui avaldus

See on kõik! Lõite just oma esimese NoSQL-i andmebaasi, kasutades Flask-CouchDB-d.

Kuigi andmebaaside loomine ja päringute tegemine CouchDB -s keerleb siin esiletoodud näidete ümber, saate Flaski funktsioone lähemalt uurida. Näiteks saate sisestusvälju keerutada, kasutades wtforms ja märkige duplikaadid Flaski sõnumi abil välk.

Saate isegi sisestada päringu JavaScripti jQueryle, et sisendeid kinnitada ja duplikaate asünkroonselt kontrollida.

Kas CouchDB on parem kui SQL -andmebaasid?

CouchDB või mõne muu NoSQL -i andmebaasi kasutamine koos kolvi või mõne muu programmeerimistehnoloogiaga sõltub teie eelistustest. Kuid see on kasulik struktuurita andmete ja töötlemata meediaga tegelemisel.

See tähendab, et enne kui otsustate, võiksite vaadata NoSQL ja SQL andmebaaside erinevusi, et aidata teil otsustada, milline neist sobib teie projekti jaoks.

JagaPiiksumaE -post
SQL vs. NoSQL: milline on teie järgmise projekti jaoks parim andmebaas?

Andmebaasi tüübi valimine võib olla keeruline. Kas valida SQL või NoSQL?

Loe edasi

Seotud teemad
  • Programmeerimine
  • andmebaas
  • Programmeerimine
  • Kodeerimise õpetused
Autori kohta
Idowu Omisola (Avaldatud 94 artiklit)

Idowu on kirglik kõige nutika tehnoloogia ja tootlikkuse vastu. Vabal ajal mängib ta kodeerimisega ja lülitab malelauale, kui tal on igav, kuid talle meeldib ka aeg -ajalt rutiinist lahti saada. Tema kirg näidata inimestele teed kaasaegses tehnoloogias motiveerib teda rohkem kirjutama.

Veel Idowu Omisolast

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin