Дјанго фрамеворк се може користити за креирање веб апликација са базом података уписивањем скрипте модели.пи и погледа.пи датотеке апликације Дјанго. Подаци се могу убацити у табеле базе података помоћу контролне табле Дјанго администрације или писањем скрипте у погледа.пи датотека. Контролна табла администрације Дјанго захтева пријаву за аутентификованог корисника за приступ табелама базе података. Појединачни или више записа могу се уметнути у табеле базе података писањем скрипте. булк_цреате () метода је један од начина за уметање више записа у табелу базе података. Како булк_цреате () метода која се користи за уметање више података у табелу базе података Дјанго биће приказано у овом упутству.
Предуслови:
Пре него што увежбате скрипту овог водича, морате извршити следеће задатке:
- Инсталирајте Дјанго верзију 3+ на Убунту 20+ (пожељно)
- Направите Дјанго пројекат
- Покрените Дјанго сервер да бисте проверили да ли сервер исправно ради или не
Подесите апликацију Дјанго:
Покрените следећу команду да бисте креирали Дјанго апликацију са именом боокапп.
$ питхон3 управља.пи стартапп боокаппПокрените следећу наредбу да бисте креирали корисника за приступ Дјанго бази података. Ако сте га већ креирали, тада не морате покретати команду.
$ питхон3 управља.пи ствара корисничког корисникаДодајте име апликације у ИНСТАЛЛЕД_АПП део подешавања.пи датотека.
ИНСТАЛЛЕД_АППС = […
'боокапп'
]
Направите фасциклу са именом предлошци унутар боокапп директоријума и поставите локацију предлошка у апликацији у ПРЕДЛОЗИ део подешавања.пи датотека.
ПРЕДЛОЗИ = [… .
'ДИРС': ['/ хоме / фахмида / дјанго_про / боокапп / темплатес'],
… .
,
]
Направите модел за табелу базе података:
Отвори модели.пи датотека из боокапп директоријум и додајте следећу скрипту да бисте дефинисали структуру књиге столови. Књига класа је дефинисана за креирање табеле са именом књиге са наслов, аутор, цена, и објављено_година поља. Према сценарију, наслов и аутор поља ће чувати подаци о знаковима и цена и објављена_ година поља ће чувати целобројне податке. Ево, наслов поље је дефинисано јединственим атрибутом. То значи да је вредност наслов поље неће прихватити дупликате података.
модели.пи
# Увоз модула модулаод дјанго.дб модели увоза
# Дефинишите класу Књига за табелу књига
разред Књига (модели.Модел):
наслов = модели.ЦхарФиелд (мак_ленгтх = 100, јединствено = Труе)
аутор = модели.ЦхарФиелд (мак_ленгтх = 100)
цена = модели.ИнтегерФиелд ()
објављено_година = модели.ИнтегерФиелд ()
Покренути макемигратионс наредба за креирање нове миграције на основу промена које су направили модели.
$ питхон3 управља.пи макемигратионс боокаппПокренути мигрирати наредба за извршавање СКЛ наредби и стварање свих табела у бази података које су дефинисане у модели.пи датотека.
$ питхон3 управља.пи мигриратиИзмените садржај админ.пи датотека следећег садржаја. Овде је класа Боок уписана у моделе помоћу регистровати() метода за приказ књиге табеле на контролној табли администрације Дјанго.
админ.пи
# Увоз административног модулаод дјанго.допринос увоз админ
# Увоз модела књиге
од .модели увоз књиге
# Региструјте модел књиге
админ.сајт.регистар (књига)
Направите датотеку шаблона са именом ДисплаиБоокЛист.хтмл унутар боокапп / предлошци / директоријум са следећом скриптом. Ова скрипта ће приказати све податке табеле књига у табеларном облику. Осим тога, петља фор се користи у скрипти за понављање података прослеђених из погледа.пи датотека.
ДисплаиБоокЛист.хтмл
Водич за Дјанго булк_цреате ()
Листа Питхон књига
ИД | Име | Аутор | Година издавања | Цена |
---|---|---|---|---|
књига.ид | књига.наслов | књига.аутор | књига.објављено_година | $ књига.Цена |
Измените садржај погледа.пи датотека са следећом скриптом. Имена модела и шаблона дефинисана су у БулкИнсерт класа. гет_куерисет () метода класе је дефинисана у скрипти за враћање свих записа табеле књига. С друге стране, Књига.предмета.све() метода се користи за враћање свих записа табеле књига. постоји() метода се користи у скрипти за проверу књиге табела је празна или није. Ако се ова метода врати Нетачно тада ће се пет записа убацити у табелу књига помоћу булк_цреате () метода.
погледа.пи
од дјанго.пречице импорт рендер# Увоз модула ЛистВиев
од дјанго.погледа.генерички увоз ЛистВиев
# Увоз модела књиге
од .модели увозе књигу
# Дефинишите класу за уметање више података
класа БулкИнсерт (ЛистВиев):
# Дефинишите модел
модел = Књига
# Дефинишите шаблон
темплате_наме = 'ДисплаиБоокЛист.хтмл '
# Прочитајте све постојеће табеле књига
куерисет = Књига.предмета.све()
# Проверите да ли је табела књига празна или не
ако је сет упита.постоји () == Нетачно:
# Уметајте истовремено 5 записа у табелу са књигама
Књига.предмета.булк_цреате ([
Књига (наслов = 'Питхон Црасх Цоурсе, 2. издање', аутор = 'Ериц Маттхес', цена = 15, објављено_година = 2019),
Књига (наслов = 'Аутоматизирај досадне ствари помоћу Питхона, друго издање', аутор = 'Ал Свеигарт', цена = 30,
објављено_година = 2019),
Књига (наслов = 'Учење Питхона', аутор = 'Марк Лутз', цена = 15, објављено_година = 2019),
Књига (наслов = 'Хеад Фирст Питхон', аутор = 'Паул Барри', цена = 45, објављено_година = 2016),
Књига (наслов = 'А Бите оф Питхон', аутор = 'Сварооп Ц Х', цена = 15, објављено_година = 2013),
])
# Врати све записе табеле са књигама
деф гет_куерисет (селф):
# Подесите подразумевани скуп упита
повратак Књига.предмета.све()
Измените садржај урл адресе.пи датотека са следећом скриптом. У сценарију, 'админ /' путања је дефинисана за отварање надзорне табле Дјанго администрације, а путања 'боокс /' је дефинисана за позивање БулкИнсерт.ас_виев () метода која ће уметнути пет записа у табелу књига и вратити их у датотеку предлошка.
урл адресе.пи
# Увоз административног модулаод дјанго.допринос увоз админ
# Увезите путању и укључите модул
од дјанго.путања за увоз УРЛ адреса
из погледа увоза боокапп
урлпаттернс = [
# Дефинишите путању за администратора
патх ('админ /', админ.сајт.урлс),
путања ('књиге /', прикази.БулкИнсерт.ас_виев ()),
]
Отворите надзорну таблу администрације Дјанго да бисте проверили да ли су подаци правилно уметнути или не булк_цреате () функцију.
Убачени записи књиге табела ће се приказати у прегледачу након извршавања следеће УРЛ адресе.
хттп: // лоцалхост: 8000 / књиге /
Закључак:
Вишеструки записи се могу уметнути у табелу базе података Дјанго на различите начине помоћу булк_цреате (). Једноставан начин уметања више записа у табелу базе података помоћу ове методе приказан је у овом упутству како би корисници Дјанго-а разумели логику која стоји иза процеса.