Django ietvaru var izmantot, lai izveidotu tīmekļa lietojumprogrammu ar datu bāzi, ierakstot skriptu modeļiem.py un skati.py Django lietotnes faili. Datus var ievietot datu bāzes tabulās, izmantojot Django administrācijas vadības paneli vai ierakstot skriptu skati.py failu. Lai piekļūtu datu bāzes tabulām, Django administrācijas informācijas panelim ir nepieciešams pieteikšanās autentificētam lietotājam. Atsevišķus vai vairākus ierakstus var ievietot datu bāzes tabulās, rakstot skriptu. bulk_create () metode ir viens no veidiem, kā datu bāzes tabulā ievietot vairākus ierakstus. Kā bulk_create () metode tiek izmantota, lai ievietotu vairākus datus Django datu bāzes tabulā, kas tiks parādīta šajā apmācībā.
Priekšnosacījumi:
Pirms praktizēt šīs apmācības skriptu, jums ir jāveic šādi uzdevumi:
- Instalējiet Django versiju 3+ Ubuntu 20+ (vēlams)
- Izveidojiet Django projektu
- Palaidiet Django serveri, lai pārbaudītu, vai serveris darbojas pareizi
Django lietotnes iestatīšana:
Palaidiet šo komandu, lai izveidotu Django lietotni ar nosaukumu bookapp.
$ python3 pārvaldīt.py startapp bookappIzveidojiet šo komandu, lai izveidotu lietotāju piekļuvei Django datu bāzei. Ja jau esat to izveidojis, jums nav nepieciešams palaist komandu.
$ python3 pārvaldīt.py rada liellietotājuPievienojiet lietotnes nosaukumu mapē INSTALLED_APP daļa no iestatījumi.py failu.
INSTALLED_APPS = […
"bookapp"
]
Izveidojiet mapi ar nosaukumu veidnes iekšpusē bookapp mapē un iestatiet lietotnes veidnes atrašanās vietu mapē Veidnes daļa no iestatījumi.py failu.
PARAUGI = [… .
'DIRS': ['/ home / fahmida / django_pro / bookapp / templates'],
… .
,
]
Izveidojiet datu bāzes tabulas modeli:
Atveriet modeļiem.py failu no bookapp mapi un pievienojiet šādu skriptu, lai definētu grāmatas tabulas. Grāmata klase ir definēta, lai izveidotu tabulu ar grāmatām nosaukums, autors, cena, un publicēts_gads lauki. Pēc scenārija, nosaukums un autors lauki tiks saglabāti rakstzīmju dati, cena un publicētais_gads laukos tiks glabāti vesela skaitļa dati. Lūk, nosaukums lauks tiek definēts ar unikālo atribūtu. Tas nozīmē, ka nosaukums laukā netiks pieņemti nekādi datu dublikāti.
modeļiem.py
# Modeļu importēšanano django.db importēšanas modeļi
# Definējiet grāmatu tabulas grāmatu klasi
klases grāmata (modeļi.Modelis):
nosaukums = modeļi.CharField (max_length = 100, unikāls = True)
autors = modeļi.CharField (maks. Garums = 100)
cena = modeļi.IntegerField ()
publicēts_gads = modeļi.IntegerField ()
Palaidiet makemigrācijas komandu, lai izveidotu jaunu migrāciju, pamatojoties uz modeļu veiktajām izmaiņām.
$ python3 pārvaldīt.py makemigrations bookappPalaidiet migrēt komandu izpildīt SQL komandas un izveidot visas tabulas datu bāzē, kas definētas modeļiem.py failu.
$ python3 pārvaldīt.py migrētMainīt programmas saturu admin.py failu ar šādu saturu. Šeit modeļu Book klase tiek reģistrēta, izmantojot reģistrēties () metode, lai parādītu grāmatas tabulas Django administrācijas informācijas panelī.
admin.py
# Importēt administratora modulino django.ieguldījuma importēšanas administrators
# Importēt grāmatas modeli
no .modeļi importē grāmatu
# Reģistrēt grāmatas modeli
admin.vietne.reģistrēties (grāmata)
Izveidojiet veidnes failu ar nosaukumu DisplayBookList.html iekšpusē bookapp / templates / folder ar šādu skriptu. Šajā skriptā visi grāmatu tabulas dati tiks parādīti tabulas veidā. Izņemot to, cilpa tiek izmantota skriptā, lai atkārtotu datus, kas nodoti no skati.py failu.
DisplayBookList.html
Django bulk_create () apmācība
Python grāmatu saraksts
ID | Nosaukums | Autors | Izdošanas gads | Cena |
---|---|---|---|---|
grāmata.id | grāmata.nosaukums | grāmata.autors | grāmata.publicēts_gads | $ grāmata.cena |
Mainīt programmas saturu skati.py failu ar šādu skriptu. Modeļa un veidnes nosaukumi ir definēti BulkIevietot klasē. get_queryset () klases metode ir definēta skriptā, lai atgrieztu visus grāmatu tabulas ierakstus. No otras puses, Grāmata.objektiem.visi () metodi izmanto, lai atgrieztu visus grāmatu tabulas ierakstus. pastāv () metode tiek izmantota skriptā, lai pārbaudītu grāmatas tabula ir tukša vai nav. Ja šī metode atgriežas Nepatiesa tad grāmatu tabulā tiks ievietoti pieci ieraksti, izmantojot bulk_create () metodi.
skati.py
no django.saīsnes importēt renderēšanu# Importēt ListView moduli
no django.skati.vispārīgs importēšanas saraksts ListView
# Importēt grāmatas modeli
no .modeļi importē grāmatu
# Definējiet klasi vairāku datu ievietošanai
klase BulkInsert (ListView):
# Definējiet modeli
modelis = Grāmata
# Definēt veidni
template_name = 'DisplayBookList.html '
# Izlasiet visus esošos grāmatu tabulas ierakstus
queryset = Grāmata.objektiem.visi ()
# Pārbaudiet, vai grāmatu tabula ir tukša vai nav
ja queryset.pastāv () == Nepatiesa:
# Grāmatu tabulā vienlaikus ievietojiet 5 ierakstus
Grāmata.objektiem.bulk_create ([
Grāmata (nosaukums = 'Python Crash Course, 2nd Edition', autors = 'Eric Matthes', cena = 15, publicēts_gads = 2019),
Grāmata (nosaukums = 'Automate the Boring Stuff with Python, 2nd Edition', autors = 'Al Sweigart', cena = 30,
publicēts_gads = 2019),
Grāmata (nosaukums = 'Learning Python', autors = 'Mark Lutz', cena = 15, publicēts_gads = 2019),
Grāmata (nosaukums = 'Head First Python', autors = 'Paul Barry', cena = 45, publicēts_gads = 2016),
Grāmata (nosaukums = 'Python baits', autors = 'Swaroop C H', cena = 15, publicēts_gads = 2013),
])
# Atgrieziet visus grāmatu tabulas ierakstus
def get_queryset (pats):
# Iestatiet noklusējuma vaicājumu kopu
atgriešanās Grāmata.objektiem.visi ()
Mainīt programmas saturu URL.py failu ar šādu skriptu. Scenārijā, “admin /” ceļš ir noteikts, lai atvērtu Django administrācijas informācijas paneli, un ceļš “grāmatas /” ir noteikts, lai izsauktu BulkIevietot.as_view () metode, kas grāmatu tabulā ievietos piecus ierakstus un atgriezīs ierakstus veidnes failā.
URL.py
# Importēt administratora modulino django.ieguldījuma importēšanas administrators
# Importēt ceļu un iekļaut moduli
no django.URL importēšanas ceļš
no bookapp importēšanas skatiem
urlpatterns = [
# Definējiet administratora ceļu
ceļš ('admin /', admin.vietne.URL),
ceļš ('grāmatas /', skati.BulkIevietot.as_view ()),
]
Atveriet Django administrācijas informācijas paneli, lai pārbaudītu, vai dati ir ievietoti pareizi vai neizmanto bulk_create () funkciju.
Ievietotie ieraksti par grāmatas tabula tiks parādīta pārlūkprogrammā pēc šī URL izpildes.
http: // localhost: 8000 / books /
Secinājums:
Vairākus ierakstus Django datu bāzes tabulā var ievietot dažādos veidos, izmantojot bulk_create (). Šajā apmācībā tika parādīts vienkāršs veids, kā datu bāzes tabulā ievietot vairākus ierakstus, izmantojot šo metodi, lai palīdzētu Django lietotājiem izprast procesa loģiku.