Django

Použitie predvolenej hodnoty NULL v modeli Django

Použitie predvolenej hodnoty NULL v modeli Django
Model je jednou z významných častí databázovej aplikácie Django. Model definuje štruktúru databázy. Údajový typ databázovej tabuľky a spôsob vkladania údajov na základe rôznych atribútov sú opísané v modeli. Overovanie údajov je možné riadiť aj pomocou modelu. Každá tabuľka v databáze obsahuje konkrétny počet polí alebo stĺpcov. Model definuje typ každého poľa tabuľky. Predvolený atribút sa v modeli používa na nastavenie predvolenej hodnoty pre konkrétnu oblasť, ak používateľ pre toto pole nevloží žiadne údaje. Predvolená hodnota poľa môže byť prázdny alebo akákoľvek konkrétna hodnota. The nulový a prázdne hodnoty nie sú rovnaké. nulový sa používa na definovanie, či je prázdna hodnota pre konkrétne pole povolená alebo nie. Ak nulový je nastavený na Falošné, prázdny reťazec potom nebude povolený v poli pre celé číslo, ale prázdny reťazec je možné priradiť v poli pre reťazec. Ak nulový je nastavený na Pravdaže, potom bude hodnota NULL zadaná do poľa celočíselného typu namiesto prázdneho reťazca. blank sa používa hlavne na overenie formulára a nekontroluje dátový typ poľa. Spôsob použitia predvolené a nulový atribúty v modeli Django sa ukázal v tomto tutoriále.

Predpoklady:

Pred precvičením scenára tohto tutoriálu musíte splniť nasledujúce úlohy.

A. Nainštalujte si Django verzie 3+ na Ubuntu 20+ (najlepšie)
B. Vytvorte projekt Django
C. Spustením servera Django skontrolujte, či server funguje správne alebo nie.

Inštalácia aplikácie Django:

A. Spustením nasledujúceho príkazu vytvorte aplikáciu Django s názvom databaseapp.

$ python3 spravovať.py startapp databaseapp

B. Spustením nasledujúceho príkazu vytvorte používateľa pre prístup k databáze Django. Ak ste používateľa už predtým dokončili, nemusíte tento príkaz spúšťať.

$ python3 spravovať.py vytvorí superužívateľa

C. Pridajte názov aplikácie do priečinka INSTALLED_APP súčasť nastavení.súbor py.

INSTALLED_APPS = [

„validationapp“
]

D. Vytvorte priečinok s názvom šablóny vnútri databaseapp priečinok a nastavte šablóny umiestnenie aplikácie v ŠABLÓNY časť nastavenie.py spis.

TEMPLATES = [

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

Dizajnový model s predvolenými a nulovými atribútmi:

Upravte modely.py súbor s nasledujúcim skriptom na vytvorenie tabuľky s názvom Produkty ktoré budú obsahovať štyri polia bez poľa id. Títo mená, cena, dátum výroby a dátum spotreby. Hodnota nulový atribút nastavený na True pre všetky polia. Hodnota prázdne miesto atribút nastavený na True pre všetky polia. To znamená, že používateľ môže pred vyplnením formulára, ktorý použije tento model, ponechať polia nevyplnené. The predvolené hodnota atribútu je nastavená pre price, manufacturing_date a expire_date.

modely.py

# Modul importu modelov
od djanga.db import modely
# Vytvorením triedy definujte štruktúru tabuľky učiteľov
trieda Produkt (modely.Model):
meno = modely.CharField (max_length = 50, null = True, blank = True)
cena = modely.IntegerField (null = True, default = ", blank = True)
manufacturing_date = modely.DateField (null = True, predvolené = '0000-00-00', blank = True)
expire_date = modely.DateField (null = True, predvolené = '0000-00-00', blank = True)

Spustením nasledujúcich migračných príkazov vytvorte potrebné migračné súbory a databázovú tabuľku databázy SQLite.

$ python3 spravovať.py makemigrations databaseapp
$ python3 spravovať.py migrovať

Vkladanie údajov pomocou Django Administration Dashboard:

Upraviť obsah admin.py súbor s nasledujúcim skriptom na registráciu modelu v databáze.

admin.py
Upravte adresy URL.py súbor s nasledujúcim skriptom na definovanie cesty k otvoreniu Django Administrative Dashboard.

adresy URL.py

# Importovať modul správcu
od djanga.sk prispieť import
# Importovať modul cesty
od djanga.cesta importu adries URL
# Definujte cestu pre zákazníka a správcu
urlpatterns = [
cesta ('admin /', admin.stránky.adresy URL)
]

Teraz spustite server Django a pomocou nasledujúcej adresy URL choďte na Django Administrative Dashboard.

http: // localhist: 8000 / admin

otvorte vstupný formulár produktu kliknutím na Pridať produkt. Ak užívateľ odošle formulár bez vloženia údajov, v prehliadači sa zobrazí nasledujúci výstup. Tu sa v dvoch poliach s dátumom zobrazujú chyby, pretože predvolená hodnota poľa s dátumom nie je v platnom formáte.

Po pridaní platných údajov o dátume sa objaví nasledujúci výstup. Tu je cena pole je pre použitie predvoleného atribútu prázdne.

Vkladanie údajov pomocou šablóny:

Spôsob vkladania údajov do Produkty V tejto časti je uvedená tabuľka používajúca formulár HTML. Tu sa vygenerujú prvky formulára na základe predtým vytvoreného modelu.

formy.py

# Import formulárov
z dovozných formulárov django
# Import zákazníckeho modelu
z dbapp.modely importujú produkt
# Definujte triedu pre formulár pre zákazníka
trieda ProductForm (formuláre.ModelForm):
trieda Meta:
model = produkt
fields = '__all__'

Vytvorte súbor HTML s názvom výrobok.html vnútri šablóny priečinok aplikácie s nasledujúcim skriptom. Údaje formulára sa odošlú, keď používateľ klikne na ikonu Uložiť tlačidlo.

výrobok.html

Vstupný formulár zákazníka



% csrf_token%
formulár.as_p

Upravte názory.py súbor s nasledujúcim skriptom na vloženie údajov do súboru Produkty tabuľka po overení formulára. AddProduct () v skripte je definovaná funkcia na kontrolu, či je formulár odoslaný alebo nie, a ak je formulár odoslaný, skontroluje, či sú údaje formulára platné alebo neplatné. Ak je platné() funkcia sa vráti pravda, potom budú údaje vložené do Produkty tabuľky a v prehliadači sa zobrazí správa o úspechu.

názory.py

# Importovať modul HttpResponse
od djanga.http.import odpovedí HttpResponse
# Import modulu vykreslenia
od djanga.skratky importovať vykreslenie
# Importovať produktový formulár
z dbapp.formuláre na import ProductForm
# Definujte funkciu na pridanie položky produktu
def AddProduct (požiadavka):
na požiadanie.method == "POST":
form = ProductForm (požiadavka.POST)
# Ak sú údaje formulára platné alebo nie
ak forma.je platné():
skúste:
# Uložte údaje formulára do databázy
formulár.uložiť ()
# Definujte správu pre používateľa
data = ['

Produkt bol pridaný.

']
# Vráťte odpoveď
vrátiť HttpResponse (údaje)
okrem:
prejsť
inak:
# Definujte objekt formulára
form = ProductForm ()
# Zobraziť formulár na zadanie produktu
vrátiť vykreslenie (požiadavka, 'produkt.html ', ' form ': form)

Upravte adresy URL.py súbor s nasledujúcim skriptom na definovanie cesty volania funkcie prezerania.

adresy URL.py

# Importovať modul správcu
od djanga.sk prispieť import
# Importovať modul cesty
od djanga.cesta importu adries URL
# Pohľad na import
zo zobrazení importu dbapp
# Definujte cestu pre zákazníka a správcu
urlpatterns = [
cesta (", pohľady.AddProduct),
cesta ('admin /', admin.stránky.adresy URL)
]

Teraz spustite server Django a otvorte základnú adresu URL v prehliadači.

http: // localhist: 8000 /

Zobrazí sa nasledujúci formulár.

Nasledujúci ValueError sa zobrazí, ak užívateľ odošle formulár bez pridania akýchkoľvek údajov do formulára. Tu je cena pole je celé číslo, ktoré nemôže byť prázdnym reťazcom.

Ak užívateľ zadá platné údaje, ako je napríklad formulár, a stlačí Uložiť tlačidlo, do databázy sa vloží nový produktový záznam.

Nasledujúci obrázok sa zobrazí, ak otvoríte novo vložený záznam z Django Dashboard.

Záver:

V tejto príručke bol model navrhnutý s použitím nulových a predvolených atribútov. Ďalej sa tu zobrazili spôsoby vkladania údajov do týchto polí v serveri back-end a front-end, ktoré čitateľovi pomôžu spoznať použitie predvolených a nulových atribútov v databáze Django.

Hry Ako zobraziť počítadlo FPS v hrách Linux
Ako zobraziť počítadlo FPS v hrách Linux
Hranie na systéme Linux získalo veľký tlak, keď spoločnosť Valve v roku 2012 oznámila podporu systému Linux pre klienta Steam a ich hry. Od tej doby s...
Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...
Hry Ako inštalovať a hrať Doom na Linuxe
Ako inštalovať a hrať Doom na Linuxe
Úvod do Doom Séria Doom vznikla v 90. rokoch po vydaní pôvodného Doomu. Bol to okamžitý hit a od tej doby herná séria získala množstvo ocenení a origi...