Повезивање Фласка са СКЛ базама података као што су ПостгреСКЛ и СКЛите је једноставно. Међутим, оквир се савршено синхронизује са НоСКЛ базама података као што је ЦоуцхДБ. Као додатна предност, можете лако да тражите своје податке када користите ЦоуцхДБ са Фласком.

Спремни сте за промену коришћењем НоСКЛ -а попут ЦоуцхДБ -а са апликацијом Фласк? Ево како поставити ЦоуцхДБ на локалну машину и повезати га са Фласком.

Шта је ЦоуцхДБ?

ЦоуцхДБ је НоСКЛ база података која је тренутно у власништву Апацхе Софтваре Фоундатион. Написан са Ерлангом, софтвер је први пут објављен 2005.

За разлику од обичних база података повезаних са табелама на које сте највероватније навикли, ЦоуцхДБ је нерелациони систем за управљање базама података који складишти податке као сирови ЈСОН.

ЦоуцхДБ не блокира, па не закључава базу података током уноса података. Једна од јачих страна ЦоуцхДБ-а је то што користи политику истовремене контроле за више верзија за читање и писање података. Тако омогућава истовремене уносе од више корисника без сметњи у постојећу структуру података у бази података.

instagram viewer

Дакле, ЦоуцхДБ је брз током упита и са њим је лако радити док се користе асинхроне методе. Међутим, ово га не чини ништа бољим од свог СКЛ партнера. Свака технологија има своје предности и недостатке.

Подешавање ЦоуцхДБ -а

Да бисте почели да користите ЦоуцхДБ, преузмите и инсталирајте компатибилну верзију са Званична веб страница ЦоуцхДБ.

А ако вам та најновија верзија не ради, пређите на ЦоуцхДБ архива и преузмите верзију 1.6.1, која је ранија верзија ЦоуцхДБ -а.

Када инсталирате ЦоуцхДБ, покрените га на рачунару као и било коју другу апликацију за рачунаре.

Отворите прегледач. Затим покрените ЦоуцхДБ -ов сервер тако што ћете у своју траку за адресу налепити следеће:

http://localhost: 5984/_утилс/индек.хтмл

Подесите Питхон и Фласк

Овај водич, међутим, претпоставља да већ имате инсталиран Питхон на рачунару. У супротном, идите на питхон.орг и инсталирајте најновију верзију Питхона на свој рачунар.

Када поставите ЦоуцхДБ, креирајте основну фасциклу пројекта. Затим отворите командну линију у том директоријуму и креирајте Питхон виртуелно окружење.

Инсталирајте најновију верзију Фласк -а у виртуелни простор помоћу пип:

пип инсталл фласк

Повежите бочицу са ЦоуцхДБ -ом

Инсталирајте да бисте почели да користите ЦоуцхДБ са апликацијом Фласк Фласк-ЦоуцхДБ, рунтиме пакет за повезивање базе података са Фласком.

Да уради ово:

пип инсталл Фласк-ЦоуцхДБ

Једном када инсталирате Фласк-ЦоуцхДБ успешно, креирајте апп.пи датотеку у тој основној фасцикли. Слично томе, креирајте датабасе.пи датотека - ово управља креирањем базе података.

Отвори датабасе.пи и увезите следеће пакете:

са сервера за увоз цоуцхдб

Затим креирајте своју базу података у истој датотеци користећи следећи блок кода:

са сервера за увоз цоуцхдб
сервер = Сервер ()
дб = сервер.цреате ('муоцоуцх')

Извршити датабасе.пи преко ЦЛИ. Затим отворите или освежите локални сервер ЦоуцхДБ -а путем свог прегледача као и раније. Сада би требало да видите базу података (муоцоуцх у овом случају) наведене у ЦоуцхДБ.

Повезан:Како покренути Питхон скрипту

Белешка: Уверите се да користите конвенцију именовања малих слова за базе података, јер ЦоуцхДБ можда неће прихватити велика или мешовита слова.

Складиштите своје прве ЦоуцхДБ податке помоћу Фласка

На крају, сврха сваке базе података је складиштење података. Када имате базу података у ЦоуцхДБ -у, можете одмах почети складиштити податке у њу из апликације Фласк.

За почетак отворите апп.пи и увезите следеће пакете:

фром фласк импорт Фласк
са сервера за увоз цоуцхдб
фром фласкект.цоуцхдб импорт Доцумент

Затим креирајте апликацију Фласк и инстанцу сервера ЦоуцхДБ:

апп = Фласк (__наме__, статиц_урл_патх = '/статиц')
апп.дебуг = Тачно
сервер = Сервер ()

Хајде сада да сачувамо неке корисничке уносе у ЦоуцхДБ:

@апп.роуте ('/', метходс = ['ГЕТ', 'ПОСТ'])
деф регистер ():
корисник = {
"корисничко име": "медијска локација",
"емаил": "јустмаил@гмаил.цом",
"пассворд": "енцриптеддата"
}
дб = сервер ['муоцоуцх'] #изаберите базу података
доц_ид, доц_рев = дб.саве (усер) #складишти ваше податке у базу података
повратак "

Ваши подаци би сада требали бити у бази података

"

Ако желите, можете поставити свој Фласк сервер у режим развоја пре него што га покренете.

Да бисте то урадили, покрените следећу команду преко ЦЛИ -ја:

сет ФЛАСК_ЕНВ = развој

Имајте на уму да постављање режима сервера није обавезно. То само олакшава отклањање грешака у вашем коду.

Али без обзира на подешавање режима сервера, ево како да покренете Фласк сервер преко ЦМД -а:

тиквица

Фласк, међутим, ваш порт поставља на подразумеване вредности лоцалхост: 5000. Сада бисте требали да видите поруку у Х2 означите када учитате ову адресу путем свог прегледача.

Потврдите податке и проверите дупликате помоћу ЦоуцхДБ упита

Да бисте ово додатно стандардизовали, можете користити упите за проверу уноса и спречавање дупликата у вашој бази података. Упити ЦоуцхДБ се мало разликују од начина на који то радите са СКЛ базама података.

ЦоуцхДБ користи оно што назива "ЈаваСцрипт прикази" за упите података из базе података. На срећу, ово је релативно једноставно.

Пре него што наставите даље, ево како изгледа основни приказ упита ЦоуцхДБ:

мап_фунц = функција (доц) 
{емитујте (доц.доц_рев, доц); }
миКуери = [доцТипе] .куери (дб, мап_фунц, редуце_фун = Ноне)

Користимо сада горњи код практично:

#Креирајте објектни модел документа под називом "Корисници:"
корисник класе (документ):
доц_типе = 'Корисник'
@апп.роуте ('/', метходс = ['ГЕТ', 'ПОСТ'])
деф регистер ():
корисник = {
"корисничко име": "медијска локација",
"емаил": "јустмаил@гмаил.цом",
"пассворд": "енцриптеддата"
}
дб = сервер ['муоцоуцх'] #изаберите базу података
# Користите функцију приказа за преузимање података са ЦоуцхДБ -а
мап_фунц = функција (доц)
{емитујте (доц.доц_рев, доц); }
# Добијте све податке покретањем скупа упита
миКуери = Усер.куери (дб, мап_фунц, редуце_фун = Нема, обрнуто = Тачно)
к = [и ['корисничко име'] за и у миКуери] # Повуците сва корисничка имена из базе података
к2 = [и ['емаил'] за и у миКуери] # Извуците све адресе е -поште из базе података
к3 = к+к2 # Спојите оба упита у једну листу
штампа (к3)
повратак "

Ваши подаци су сада у бази података

"

Горњи код користи Корисник цласс за постављање упита подацима дохваћеним функцијом виев. Обратите посебну пажњу на параметре унутар скупа упита (миКуери).

Штампање к3, као што сте то учинили горе, сада би требало да прикаже сва корисничка имена и адресе е -поште у бази података унутар командне линије.

Ево како можете да користите овај упит за проверу уноса корисника:

ако не (корисник ['корисничко име'] у трећем кварталу или корисник ['е -пошта'] у трећем кварталу):
#похраните своје податке у базу података ако не постоје
доц_ид, доц_рев = дб.саве (корисник)
повратак "

Регистрован Успешно

"
друго:
повратак "

Корисничко име или адреса е -поште постоји

"

Освежавањем прегледача враћа се елсе сваки пут када покушате да унесете корисничко име или адресу е -поште која се већ налази у бази података. А ако уносите нову, она успешно складишти ваше податке извршавањем датотеке ако стање.

Повезан:Како се користи Питхон иф изјава

То је то! Управо сте креирали своју прву НоСКЛ базу података користећи Фласк-ЦоуцхДБ.

Иако се креирање и испитивање база података у ЦоуцхДБ -у врти око примера које смо овде истакли, Фласк -ове функционалности можете додатно истражити. На пример, поља за унос можете да окренете помоћу втформс и означите дупликате помоћу Фласкове поруке блиц.

Можете чак и да проследите свој упит у ЈаваСцрипт -ов јКуери ради провере уноса и асинхроне провере дупликата.

Да ли је ЦоуцхДБ бољи од СКЛ база података?

Коришћење ЦоуцхДБ -а или било које друге НоСКЛ базе података са Фласком или било којом другом технологијом програмирања зависи од ваших жеља. Али то добро дође док се бавите неструктурираним подацима и сировим медијима.

Међутим, пре него што се одлучите, можда бисте желели да погледате разлике између НоСКЛ и СКЛ база података како бисте лакше одлучили која је од њих погодна за ваш пројекат.

ОбјавиТвеетЕмаил
СКЛ вс. НоСКЛ: Која је најбоља база података за ваш следећи пројекат?

Избор типа базе података може бити тежак. Да ли да изаберете СКЛ или НоСКЛ?

Прочитајте следеће

Повезане теме
  • Програмирање
  • база података
  • Програмирање
  • Кодирање Туториали
О аутору
Идову Омисола (94 објављена чланка)

Идову је страствен у било чему паметном технологији и продуктивности. У слободно време игра се кодирањем и прелази на шаховску таблу кад му је досадно, али такође воли да се повремено одваја од рутине. Његова страст да људима покаже пут око савремене технологије мотивише га да пише више.

Више од Идову Омисола

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили