A Django keretrendszerrel webes alkalmazás hozható létre egy adatbázissal, szkript beírásával modellek.py és nézetek.py a Django alkalmazás fájljai. Az adatokat be lehet illeszteni az adatbázis táblákba a Django Administration Dashboard használatával, vagy egy szkript beírásával a nézetek.py fájl. A Django Administration Dashboard bejelentkezést igényel egy hitelesített felhasználó számára az adatbázis tábláinak eléréséhez. Egy vagy több rekord szkript megírásával illeszthető be az adatbázis táblákba. bulk_create () A módszer az egyik módja annak, hogy több rekordot illesszen be az adatbázis-táblába. Hogy a bulk_create () metódus a több adat beszúrására egy Django adatbázis-táblába kerül bemutatásra ebben az oktatóanyagban.
Előfeltételek:
Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat:
- Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
- Hozzon létre egy Django projektet
- Futtassa a Django szervert annak ellenőrzésére, hogy a szerver megfelelően működik-e vagy sem
Állítson be egy Django alkalmazást:
Futtassa a következő parancsot egy Django alkalmazás létrehozásához bookapp.
$ python3 kezelni.py startapp bookappFuttassa a következő parancsot a felhasználó létrehozásához a Django adatbázis eléréséhez. Ha már létrehozott egyet, akkor nem kell futtatnia a parancsot.
$ python3 kezelni.py létrehozza a túlfelhasználótAdja hozzá az alkalmazás nevét a INSTALLED_APP része a beállítások.py fájl.
INSTALLED_APPS = […
„bookapp”
]
Hozzon létre egy nevű mappát sablonok benne bookapp mappába, és állítsa be az alkalmazás sablonjának helyét a Sablonok része a beállítások.py fájl.
Sablonok = [… .
'DIRS': ['/ home / fahmida / django_pro / bookapp / templates'],
… .
,
]
Hozzon létre egy modellt az adatbázis-táblához:
Nyissa meg a modellek.py fájl a bookapp mappát, és adja hozzá a következő parancsfájlt a struktúra meghatározásához könyveket táblázatok. Könyv osztály meg van határozva, hogy létrehozzon egy táblázatot, amelynek neve: cím, szerző, ár, és közzétett_év mezők. A forgatókönyv szerint, cím és szerző mezők tárolódnak karakteradatok, ár és közzétett év mezők tárolják az egész adatokat. Itt a cím mező meghatározása az egyedi attribútummal történik. Ez azt jelenti, hogy a cím mező nem fogad el ismétlődő adatokat.
modellek.py
# Modellek importálása moduldjangótól.db import modellek
# Határozza meg a Könyv osztályt a könyvtáblához
osztály Könyv (modellek.Modell):
cím = modellek.CharField (max_hossz = 100, egyedi = Igaz)
szerző = modellek.CharField (max_hossz = 100)
ár = modellek.IntegerField ()
published_year = modellek.IntegerField ()
Futtassa a makemigrációk parancsot egy új migráció létrehozására a modellek által végrehajtott változtatások alapján.
$ python3 kezelni.py makemigrations bookappFuttassa a vándorol parancs az SQL parancsok végrehajtására és az adatbázisban az modellek.py fájl.
$ python3 kezelni.py vándorolnakMódosítsa a admin.py fájl a következő tartalommal. Itt a modellek Book osztályát regisztráljuk a Regisztráció() módszer a könyveket táblázatok a Django adminisztráció irányítópultján.
admin.py
# Adminisztrációs modul importálásadjangótól.közreműködés import admin
# Könyvmodell importálása
tól től .modellek importálja a könyvet
# Regisztrálja a könyv modelljét
admin.webhely.regisztráció (könyv)
Hozzon létre egy sablonfájlt DisplayBookList.html benne bookapp / sablonok / mappa a következő forgatókönyvvel. Ez a szkript a könyvek táblázatának összes adatait táblázatos formában jeleníti meg. Ettől eltekintve, mert a ciklus a szkriptben a nézetek.py fájl.
DisplayBookList.html
Django bulk_create () oktatóanyag
Python könyvlista
ID | Név | Szerző | Megjelenés éve | Ár |
---|---|---|---|---|
könyv.id | könyv.cím | könyv.szerző | könyv.közzétett_év | $ könyv.ár |
Módosítsa a nézetek.py a következő szkriptet tartalmazó fájl. A modell és a sablon nevét a BulkInsert osztály. get_queryset () Az osztály metódusát a szkript határozza meg, hogy a könyvek tábla összes rekordját visszaadja. Másrészről, Könyv.tárgyakat.minden() metódus a könyvtábla összes rekordjának visszaadására szolgál. létezik() metódust használnak a szkriptben a könyveket a táblázat üres vagy sem. Ha ez a módszer visszatér Hamis akkor öt rekord kerül a könyvtáblába a bulk_create () módszer.
nézetek.py
djangótól.parancsikonok import render# ListView modul importálása
djangótól.nézetek.általános importálás ListView
# Könyvmodell importálása
tól től .modellek importálja a könyvet
# Definiálja az osztályt több adat beszúrásához
osztály BulkInsert (ListView):
# Definiálja a modellt
modell = Könyv
# Definiálja a sablont
template_name = 'DisplayBookList.html '
# Olvassa el a könyvek összes meglévő rekordját
lekérdezés = Könyv.tárgyakat.minden()
# Ellenőrizze, hogy a könyvek táblázata üres-e
ha queryset.létezik () == Hamis:
# Egyszerre helyezzen be 5 rekordot a könyvek táblázatába
Könyv.tárgyakat.bulk_create ([
Könyv (cím = 'Python Crash Course, 2. kiadás', szerző = 'Eric Matthes', ár = 15, megjelent_év = 2019),
Könyv (cím = 'Automatizálja az unalmas dolgokat a Pythonnal, 2. kiadás', szerző = 'Al Sweigart', ár = 30,
közzétett_év = 2019),
Könyv (cím = 'Learning Python', szerző = 'Mark Lutz', ár = 15, megjelent_év = 2019),
Könyv (cím = 'Head First Python', szerző = 'Paul Barry', ár = 45, published_year = 2016),
Könyv (cím = 'A Python bájtja', szerző = 'Swaroop C H', ára = 15, megjelent_év = 2013),
])
# Visszaadja a könyvek táblázat összes rekordját
def get_queryset (self):
# Állítsa be az alapértelmezett lekérdezési készletet
vissza Könyv.tárgyakat.minden()
Módosítsa a URL-ek.py a következő szkriptet tartalmazó fájl. A forgatókönyvben, az „admin /” A Django Administration Dashboard megnyitásához az elérési út definiálva van, a "books /" elérési út pedig a BulkInsert.as_view () módszer, amely öt rekordot fog beilleszteni a könyvek táblába, és visszaadja a rekordokat a sablonfájlba.
URL-ek.py
# Adminisztrációs modul importálásadjangótól.közreműködés import admin
# Útvonal importálása és modul hozzáadása
djangótól.URL importálási útvonal
bookapp import nézetekből
urlpatterns = [
# Adja meg az admin elérési útját
elérési út ('admin /', admin.webhely.URL-ek),
útvonal ('könyvek /', nézetek.BulkInsert.as_view ()),
]
Nyissa meg a Django Administration Dashboard-t és ellenőrizze, hogy az adatokat megfelelően illesztették-e be, vagy sem bulk_create () funkció.
A beillesztett nyilvántartások a könyveket táblázat a következő URL végrehajtása után jelenik meg a böngészőben.
http: // localhost: 8000 / books /
Következtetés:
A Django adatbázis táblába többféle módon is beilleszthető rekordok a bulk_create (). Ebben az oktatóanyagban bemutatták, hogyan lehet több rekordot beilleszteni az adatbázis-táblába ezzel a módszerrel, hogy segítsen a Django felhasználóknak megérteni a folyamat logikáját.