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 databaseappB. 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ľaC. 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 modelovod 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ávcuod 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árovz 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
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 HttpResponseod 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ávcuod 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.