Django

A NULL alapértelmezett értékének használata a Django modellben

A NULL alapértelmezett értékének használata a Django modellben
A modell az adatbázis-alapú Django alkalmazás egyik jelentős része. A modell meghatározza az adatbázis felépítését. Az adatbázis-tábla adattípusát és az adatok különböző attribútumokon alapuló beszúrásának módját a Modell ismerteti. Az adatok ellenőrzése a modell használatával is vezérelhető. Az adatbázis minden táblája meghatározott számú mezőt vagy oszlopot tartalmaz. A modell meghatározza a táblázat egyes mezőinek típusát. Az alapértelmezett attribútumot a modell egy alapértelmezett érték beállításához használja egy adott területre, ha az adott mező felhasználója nem ad be adatokat. A mező alapértelmezett értéke lehet üres vagy bármilyen konkrét érték. A nulla és üres az értékek nem azonosak. nulla annak meghatározására szolgál, hogy az üres érték engedélyezett-e vagy sem egy adott mezőnél. Ha a nulla értékre van állítva Hamis, akkor az üres karakterlánc nem engedélyezett az egész típusú mezőben, de az üres karakterlánc a string típusú mezőben rendelhető hozzá. Ha a nulla értékre van állítva Igaz, akkor a NULL értéket egy egész karakterlánc mezőben adjuk meg egy üres karakterlánc helyett. blanA k-t főként az űrlap érvényesítéséhez használják, és nem ellenőrzi a mező adattípusát. A felhasználás módja alapértelmezett és nulla a Django modell attribútumai megmutatkoztak ebben az oktatóanyagban.

Előfeltételek:

Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat.

A. Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
B. Hozzon létre egy Django projektet
C. Futtassa a Django szervert annak ellenőrzéséhez, hogy a szerver megfelelően működik-e vagy sem.

Állítson be egy Django alkalmazást:

A. Futtassa a következő parancsot egy Django alkalmazás létrehozásához databaseaseapp.

$ python3 kezelni.py startapp databaseaseapp

B. Futtassa a következő parancsot a felhasználó létrehozásához a Django adatbázis eléréséhez. Ha korábban befejezte a felhasználót, akkor nem kell futtatnia a parancsot.

$ python3 kezelni.py létrehozza a túlfelhasználót

C. Adja hozzá az alkalmazás nevét a INSTALLED_APP a beállítások egy része.py fájl.

INSTALLED_APPS = [

'validationapp'
]

D. Hozzon létre egy nevű mappát sablonok benne databaseaseapp mappát, és állítsa be a sablonok az alkalmazás helye a Sablonok része a beállítások.py fájl.

Sablonok = [

… .
'DIRS': ['/ home / fahmida / django_pro / databaseaseapp / templates'],
… .
,
]

Tervezési modell alapértelmezett és null attribútumokkal:

Módosítsa a modellek.py nevű tábla létrehozásához a következő szkriptet tartalmazó fájl Termékek amely négy mezőt tartalmaz az id mező nélkül. Ezek nevek, ár, gyártási dátum és lejárati dátum. A. Értéke nulla attribútum értéke True minden mezőre. Az értéke az üres attribútum True értékre van állítva minden mező esetében is. Ez azt jelenti, hogy a felhasználó üresen hagyhatja a mezőket, mielőtt elküldené az ezt a modellt használó űrlapot. A alapértelmezett az attribútum értéke az árra, a gyártási_dátumra és a lejárati_dátumra van beállítva.

modellek.py

# Modellek importálása modul
djangótól.db import modellek
# Hozzon létre osztályt a Tanárok táblázat felépítésének meghatározásához
osztály Termék (modellek.Modell):
név = modellek.CharField (max_hossz = 50, null = Igaz, üres = Igaz)
ár = modellek.IntegerField (null = Igaz, alapértelmezett = ", üres = Igaz)
gyártási_dátum = modellek.DateField (null = Igaz, alapértelmezett = '0000-00-00', üres = Igaz)
lejárati dátum = modellek.DateField (null = Igaz, alapértelmezett = '0000-00-00', üres = Igaz)

Futtassa a következő áttelepítési parancsokat a szükséges áttelepítési fájlok és az SQLite adatbázis adatbázis-táblázatának létrehozásához.

$ python3 kezelni.py makemigrations databaseaseapp
$ python3 kezelni.py vándorolnak

Adatbevitel a Django Administration Dashboard segítségével:

A tartalom módosítása az admin.py fájl a következő szkript segítségével regisztrálja a modellt az adatbázisban.

admin.py
Módosítsa a URL-ek.py fájl a következő szkript segítségével meghatározza a Django adminisztratív irányítópult megnyitásának útját.

URL-ek.py

# Adminisztrációs modul importálása
djangótól.közreműködés import admin
# Útvonal modul importálása
djangótól.URL importálási útvonal
# Definiálja az ügyfél és az adminisztrátor elérési útját
urlpatterns = [
elérési út ('admin /', admin.webhely.URL-ek)
]

Most futtassa a Django szervert, és lépjen a Django felügyeleti irányítópultra a következő URL használatával.

http: // localhist: 8000 / admin

kattintással nyissa meg a termékbeviteli űrlapot Termék hozzáadása. Ha a felhasználó adatok beillesztése nélkül küldi el az űrlapot, akkor a következő kimenet jelenik meg a böngészőben. Itt két dátummező mutat hibákat, mert a dátummező alapértelmezett értéke nem érvényes formátumú.

A következő kimenet jelenik meg az érvényes dátumadatok hozzáadása után. Itt a ár mező üres az alapértelmezett attribútum használatához.

Adatbevitel a sablon segítségével:

Az adatok beillesztésének módja a Termékek HTML űrlapot használó táblázat ebben a szakaszban látható. Itt az űrlapelemeket a korábban létrehozott modell alapján generálják.

formák.py

# Form űrlapok importálása
django import űrlapokból
# Ügyfélmodell importálása
a dbapp-ból.modellek importálják a terméket
# Határozza meg az ügyfél űrlap osztályát
osztály ProductForm (űrlapok.ModelForm):
osztály Meta:
modell = Termék
mezők = '__all__'

Hozz létre HTML nevű fájlt termék.html benne sablonok mappát az alkalmazás a következő szkriptet. Az űrlapadatokat akkor kell benyújtani, amikor a felhasználó rákattint a Mentés gomb.

termék.html

Ügyfél nevezési lap



% csrf_token%
űrlap.as_p

Módosítsa a nézetek.py fájl a következő szkript segítségével adatok beszúrására a Termékek tábla az űrlap érvényesítése után. AddProduct () függvény van meghatározva a szkriptben, hogy ellenőrizze az űrlap elküldését vagy sem, és ha az űrlapot benyújtják, akkor ellenőrzi, hogy az űrlap adatai érvényesek vagy érvénytelenek. Ha érvényes() függvény visszatér igaz, akkor az adatokat beillesztik a Termékek táblázatot, és egy sikerüzenet jelenik meg a böngészőben.

nézetek.py

# HttpResponse modul importálása
djangótól.http.válasz import HttpResponse
# Render modul importálása
djangótól.parancsikonok import render
# ProductForm importálása
a dbapp-ból.űrlapok importálja a ProductForm-ot
# Definiálja a funkciót a termékbejegyzés hozzáadásához
def AddProduct (kérés):
ha kérik.módszer == "POST":
form = ProductForm (kérelem.POST)
# Ha az űrlapadatok érvényesek vagy sem
ha forma.érvényes():
próbáld ki:
# Mentse az űrlap adatait az adatbázisba
forma.mentés()
# Határozza meg az üzenetet a felhasználó számára
adatok = ['

A termék hozzáadva.

']
# Adja vissza a választ
return HttpResponse (adatok)
kivéve:
passz
más:
# Definiálja az űrlap objektumot
form = ProductForm ()
# A termékbeviteli űrlap megjelenítése
return render (kérés, 'termék.html ', ' form ': form)

Módosítsa a URL-ek.py fájl a következő szkript segítségével meghatározza a nézet függvény meghívásának útját.

URL-ek.py

# Adminisztrációs modul importálása
djangótól.közreműködés import admin
# Útvonal modul importálása
djangótól.URL importálási útvonal
# Import nézet
dbapp import nézetekből
# Definiálja az ügyfél és az adminisztrátor elérési útját
urlpatterns = [
elérési út (", nézetek.AddProduct),
elérési út ('admin /', admin.webhely.URL-ek)
]

Most futtassa a Django szervert, és nyissa meg az alap URL-t a böngészőben.

http: // lokál: 8000 /

A következő űrlap jelenik meg.

A következő ValueError jelenik meg, ha a felhasználó anélkül küldi el az űrlapot, hogy az űrlapba bármilyen adatot adna. Itt a ár mező olyan egész szám, amely nem lehet az üres karakterlánc.

Ha a felhasználó megadja az érvényes adatokat, mint az alábbi űrlap, és megnyomja a gombot Mentés gombra kattintva új termékrekord kerül be az adatbázisba.

A következő kép jelenik meg, ha megnyitja az újonnan beillesztett rekordot a Django műszerfalon.

Következtetés:

A modellt null és alapértelmezett attribútumok használatával tervezték meg ebben az oktatóanyagban. Ezután bemutattuk az adatok ezekbe a mezőkbe történő beillesztésének módjait a háttér- és a kezelőfelületben, hogy az olvasó segítsen megismerni az alapértelmezett és null attribútumok használatát a Django adatbázisban.

Az egérmutató és a kurzor méretének, színének és sémájának módosítása a Windows 10 rendszeren
Az egérmutató és a kurzor a Windows 10 operációs rendszerben nagyon fontos szempont. Ez elmondható más operációs rendszerekről is, tehát valójában eze...
Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...