Django

Kuidas mudelit Djangos kasutada?

Kuidas mudelit Djangos kasutada?
Mudelit kasutatakse Django rakenduses andmebaasiga veebirakenduse loomiseks. Django sisseehitatud funktsioon on luua relatsioonandmebaasi tabeleid, määratledes Django projekti tabelistruktuur. Iga mudeli atribuut näitab tabeli konkreetse välja tüüpi. Mudeliklass nõuab andmebaasi iga tabeli määratlemist. Üldiselt on mudeli klassi nimi määratletud ainsuse kujul ja Django loob mudeli klassi nime põhjal mitmuse kujul tabeli nime. Kõik mudeli kujundatud tabeli muudatused, näiteks loomine, värskendamine või kustutamine, saab Django administraatori paneeli abil teha väga lihtsalt. Samu ülesandeid saab teha ka pythoni käsurealt. Selles õpetuses on näidatud Django mudelite loomine, mis loovad kaks relatsioonitabelit ja kuidas neile juurde pääseda Django Administrationi armatuurlaua abil.

Eeldused

Enne selle õpetuse näidete harjutamist peate täitma järgmised ülesanded.

  1. Installige Django versioon 3+ Ubuntu 20+ (eelistatult)
  2. Looge Django projekt
  3. Käivitage Django server, et kontrollida, kas server töötab korralikult või mitte.

Django rakenduse seadistamine:

Django nimelise rakenduse loomiseks käivitage järgmine käsk mudeli rakendus.

$ python3 hallata.py startapp modelapp

Käivitage järgmine käsk, et luua kasutaja Django andmebaasile juurdepääsuks. Kui olete kasutaja varem loonud, ei pea te käsku käivitama.

$ python3 hallata.py loob ülikasutaja

Lisage rakenduse nimi rakendusse INSTALLED_APP osa py faili.

INSTALLED_APPS = [

mudeli rakendus
]

Looge kaust nimega mallid sees mudeli rakendus kaust ja määrake malli omad rakenduse asukoht MALLID osa py faili.

MALLID = [

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

Looge andmebaasitabeli mudel:

Ava mudelid.py fail failist mudeli rakendus kaust ja lisage järgmine skript kahe relatsioonitabeli struktuuri määratlemiseks. Õpetaja klass on määratletud nimega tabeli loomiseks õpetajad koos nimi, osakond, e-posti aadress, ja telefon väljad. Kursus klass on määratletud nimega tabeli loomiseks kursused koos kood, nimi, krediit, ja õpetaja väljad. Siin, õpetaja valdkonnas Kursused tabel on võti, mis ilmub Õpetajad tabel.

mudelid.py

# Mudelite importimise moodul
alates django.db impordimudelid
# Loo klass õpetajate tabeli struktuuri määratlemiseks
klassi õpetaja (mudelid.Mudel):
nimi = mudelid.CharField (max_pikkus = 50)
osakond = mudelid.CharField (max_pikkus = 20)
email = mudelid.EmailField (max_length = 100)
telefon = mudelid.CharField (max_pikkus = 50)
# Loo klass kursuste tabeli struktuuri määratlemiseks
klassi kursus (mudelid.Mudel):
kood = mudelid.CharField (max_pikkus = 10)
nimi = mudelid.CharField (max_pikkus = 50)
krediit = mudelid.FloatField ()
õpetaja = mudelid.ForeignKey (õpetaja, on_delete = mudelid.KASADI)

Käivitage makemigratsioonid käsk luua uus ränne mudelite tehtud muudatuste põhjal.

$ python3 hallata.py makemigrations mudeli rakendus

Käivitage rändama käsk SQL-i käskude käivitamiseks ja kõigi tabelite loomiseks andmebaasis määratletud andmebaasis mudelid.py faili.

$ python3 hallata.py rännata

Muutke sisu admin.py järgmise sisuga fail. Siin, Õpetaja ja Kursus klasside mudelid registreeritakse, kasutades Registreeri() meetod Õpetajad ja Kursused tabelid Django halduse juhtpaneelil.

admin.py

# Impordi administraatori moodul
alates django.kaastöö impordi admin
# Importige mudelid
alates .mudelid impordivad Õpetaja
alates .mudelid impordivad kursust
# Registreerige mudelid
admin.sait.registreeru (õpetaja)
admin.sait.registreeru (kursus)

Määra URL administraatori sisselogimiseks:

Tee administraatori sisselogimiseks on määratletud URL-id.py vaikimisi mis tahes Django rakenduse fail. Kui tee pole failis määratletud, muutke faili URL-id.py järgmise skriptiga fail, et avada tee sisseehitatud Django administreerimise juhtpaneel ' admin /".

URL-id.py

# Impordi administraatori moodul
alates django.kaastöö impordi admin
# Importimooduli import
alates django.URL-ide importimise tee
# Määrake administraatori tee
urlpatterns = [
tee ('admin /', admin.sait.URL-id),
]

Sisestage tabelitesse kirjed:

Django administratsiooni juhtpaneeli avamiseks käivitage brauseris järgmine URL.

http: // localhost: 8000 / admin

Järgmised tabelid kuvatakse näidisrakenduse jaoks. Sellelt lehelt saab kõiki tabelite kirjeid lugeda, lisada, uuendada ja kustutada.

Mõne kirje tabelisse lisamiseks klõpsake tabelil Õpetajad. Kirje sisestamiseks kuvatakse vorm koos vajalike väljadega, nagu järgmine pilt. Vormis on kirje tabelisse lisamiseks kolm nuppu. "Salvestage ja lisage veel üksNuppu 'kasutatakse kirje sisestamiseks ja vormi uuesti avamiseks järgmise kirje sisestamiseks. "Salvestage ja jätkake muutmistNuppu 'kasutatakse kirje sisestamiseks ja vormi uuesti avamiseks koos andmetega redigeerimiseks. "SalvestaNuppu 'kasutatakse ainult kirje sisestamiseks. Igas võistlusvormis on need kolm nuppu.

Pärast kahe õpetaja kirje sisestamist kuvatakse brauseris järgmine teave.

Pärast kursuste tabelile klõpsamist ilmub järgmine vorm. Õpetaja väli Kursused tabel on seotud Õpetajad tabel võõrvõti järgi. Ilmub rippmenüü koos sisestatud õpetajaobjektidega, et lisada selle välja andmed loendist.

Pärast kolme kirje sisestamist tabelisse Kursused kuvatakse brauseris järgmine teave. Kui soovite muuta kursuste või tabeli Õpetajad kirjeid, klõpsake sellel konkreetsel objektil redigeerimisvormi avamiseks olemasolevate andmetega.

Mõlema tabeli kirjed saate kuvada brauseris, kasutades vaated.py faili ja templite loomine määratletud malli asukohas.  Nende jaoks saate vaadata Django vaate ja Django malli õpetusi.

Järeldus

Tabeli andmetele pääseb juurde või neid saab muuta Django Administration Dashboardil, nagu selles õpetuses on selgitatud. Kuid andmeid saab tabelitesse lisada, kirjutades skripti skripti vaated.py fail koos mallifailiga või ilma.

Parimad Linuxi käsurea mängud
Käsurida pole Linuxi kasutamisel lihtsalt teie suurim liitlane - see võib olla ka meelelahutusallikas, sest saate seda kasutada paljude lõbusate mängu...
Parimad Linuxi mängupuldi kaardistamise rakendused
Kui teile meeldib mängida Linuxis mänge tavalise klaviatuuri ja hiire sisestussüsteemi asemel mängupuldiga, on teie jaoks mõned kasulikud rakendused. ...
Kasulikud tööriistad Linuxi mängijatele
Kui teile meeldib Linuxis mänge mängida, on tõenäoline, et olete mängukogemuse parandamiseks kasutanud selliseid rakendusi ja utiliite nagu Wine, Lutr...