Django

Kaip naudoti modelį Django?

Kaip naudoti modelį Django?
Modelis naudojamas „Django“ programoje kuriant žiniatinklio programą su duomenų baze. Tai yra integruota „Django“ funkcija sukurti reliacinių duomenų bazių lenteles apibrėžiant „Django“ projekto lentelių struktūrą. Kiekvienas modelio atributas nurodo konkretaus lentelės lauko tipą. Modelio klasėje reikės apibrėžti kiekvieną duomenų bazės lentelę. Paprastai modelio klasės pavadinimas apibrėžiamas vienaskaitos forma, o Django sukurs lentelės pavadinimą daugiskaitos forma, remdamasis modelio klasės pavadinimu. Bet kokius modelio sukurtus lentelės pakeitimus, pvz., Sukurti, atnaujinti ar ištrinti, galima atlikti labai lengvai naudojant „Django“ administratoriaus skydą. Tas pačias užduotis galima atlikti ir iš python komandinės eilutės. Kurti „Django“ modelius, kurie sukurs dvi reliacines lenteles ir kaip jas pasiekti bus galima naudojant „Django Administration“ informacijos suvestinę, rodoma šioje pamokoje.

Būtinos sąlygos

Prieš pradėdami praktikuoti šios pamokos pavyzdžius, turite atlikti šias užduotis.

  1. Įdiekite „Django“ versiją 3+ „Ubuntu 20+“ (geriausia)
  2. Sukurkite „Django“ projektą
  3. Paleiskite „Django“ serverį ir patikrinkite, ar serveris veikia tinkamai.

Nustatykite „Django“ programą:

Norėdami sukurti „Django“ programą, paleiskite šią komandą modelio programa.

$ python3 valdyti.py startapp modelapp

Vykdykite šią komandą, kad sukurtumėte vartotoją, kad pasiektumėte „Django“ duomenų bazę. Jei vartotoją sukūrėte anksčiau, komandos paleisti nereikia.

$ python3 valdyti.py sukurianaudotojas

Pridėkite programos pavadinimą INSTALLED_APP dalis py failą.

INSTALLED_APPS = [

modelio programa
]

Sukurkite aplanką pavadinimu šablonai viduje modelio programa aplanką ir nustatykite šablonai programos vieta Šablonai dalis py failą.

Šablonai = [

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

Sukurkite duomenų bazės lentelės modelį:

Atidaryk modeliai.py failą iš modelio programa aplanką ir pridėkite šį scenarijų, kad apibrėžtumėte dviejų reliacinių lentelių struktūrą. Mokytojas klasė yra apibrėžta norint sukurti lentelę pavadinimu mokytojai su vardas, skyrius, el, ir telefono laukai. Žinoma klasė yra apibrėžta norint sukurti lentelę pavadinimu kursai su kodas, vardas, kreditas, ir mokytojas laukai. Čia, mokytojas sritis Kursai lentelė yra užsienio raktas, kuris pasirodys iš Mokytojai stalo.

modeliai.py

# Importuoti modelių modulį
nuo django.db importavimo modeliai
# Sukurkite klasę, kad apibrėžtumėte Mokytojų lentelės struktūrą
klasės mokytoja (modeliai.Modelis):
vardas = modeliai.„CharField“ (maks. Ilgis = 50)
skyrius = modeliai.„CharField“ (maks. Ilgis = 20)
paštas = modeliai.„EmailField“ (maks. Ilgis = 100)
telefonas = modeliai.„CharField“ (maks. Ilgis = 50)
# Sukurkite klasę, kad apibrėžtumėte kursų lentelės struktūrą
klasės kursai (modeliai.Modelis):
kodas = modeliai.„CharField“ (maks. Ilgis = 10)
vardas = modeliai.„CharField“ (maks. Ilgis = 50)
kreditas = modeliai.„FloatField“ ()
mokytojas = modeliai.„ForeignKey“ (mokytojas, on_delete = modeliai.KASKADĖ)

Paleiskite makemigracijos komandą sukurti naują perkėlimą, remiantis modelių atliktais pakeitimais.

$ python3 valdyti.py makemigrations model app

Paleiskite migruoti komandą vykdyti SQL komandas ir sukurti visas lenteles duomenų bazėje, apibrėžtoje modeliai.py failą.

$ python3 valdyti.py migruoti

Keisti administratorius.py failą su tokiu turiniu. Čia, Mokytojas ir Žinoma modelių klasės registruojamos naudojant Registruotis() metodas rodyti Mokytojai ir Kursai lenteles Django administracijos informacijos suvestinėje.

administratorius.py

# Importuoti administratoriaus modulį
nuo django.įnašo importo administratorius
# Importuokite modelius
nuo .modeliai importuoja mokytoją
nuo .modelių importo kursas
# Užregistruokite modelius
administratorius.svetainėje.registruotis (mokytojas)
administratorius.svetainėje.registruotis (kursai)

Nustatykite administratoriaus prisijungimo URL:

Administratoriaus prisijungimo kelias yra apibrėžtas URL.py pagal numatytuosius nustatymus bet kurios „Django“ programos failas. Jei faile kelias nėra apibrėžtas, pakeiskite URL.py failas su šiuo scenarijumi, kad atidarytumėte integruotą kelio „Django Administration“ informacijos suvestinę ' admin /".

URL.py

# Importuoti administratoriaus modulį
nuo django.įnašo importo administratorius
# Importo kelio modulis
nuo django.URL importavimo kelias
# Apibrėžkite administratoriaus kelią
urlpatterns = [
kelias ('admin /', admin.svetainėje.URL),
]

Į lenteles įterpkite įrašus:

Paleiskite šį URL iš naršyklės, kad atidarytumėte „Django Administration“ informacijos suvestinę.

http: // localhost: 8000 / admin

Šios modelio programos lentelės bus rodomos. Bet kurį lentelių įrašą galima perskaityti, įterpti, atnaujinti ir ištrinti iš šio puslapio.

Norėdami į lentelę įterpti keletą įrašų, spustelėkite lentelę Mokytojai. Įrašui įterpti pasirodys forma su būtinais laukais, pavyzdžiui, šiuo vaizdu. Formoje yra trys mygtukai, skirti įterpti įrašus į lentelę. "Išsaugokite ir pridėkite dar vienąmygtukas naudojamas įrašui įterpti ir dar kartą atidaryti formą, kad būtų galima įterpti kitą įrašą. „Išsaugokite ir tęskite redagavimąmygtukas naudojamas įrašui įterpti ir dar kartą atidaryti formą su redaguojamais duomenimis. „Sutaupytimygtukas naudojamas tik įterpti įrašą. Kiekvienoje paraiškos formoje bus šie trys mygtukai.

Įterpus du mokytojo įrašus, naršyklėje pasirodys ši informacija.

Ši forma pasirodys spustelėjus kursų lentelę. Mokytojas laukas Kursai lentelė yra susijusi su Mokytojai lentelė pagal svetimą raktą. Pasirodys išskleidžiamasis sąrašas su įterptais mokytojų objektais, kad būtų galima pridėti šio lauko duomenis iš sąrašo.

Įterpus tris įrašus į lentelę „Kursai“, naršyklėje pasirodys ši informacija. Jei norite pakeisti bet kokius „Courses“ arba „Teachers“ lentelės įrašus, spustelėkite tą konkretų objektą, kad atidarytumėte redagavimo formą su esamais duomenimis.

Abiejų lentelių įrašus galite rodyti naršyklėje naudodami nuomonėmis.py failą ir šventyklų sukūrimą apibrėžtoje šablono vietoje.  Galite patikrinti jų „Django View“ ir „Django Template“ mokymo programas.

Išvada

Kaip paaiškinta šioje pamokoje, „Django Administration“ informacijos suvestinėje galite pasiekti arba keisti lentelės duomenis. Bet duomenis į lenteles galima įterpti rašant scenarijų Peržiūrų.py failas su šablono rinkmena arba nenaudojant jos.

„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...
„OpenTTD“ pamoka
„OpenTTD“ yra vienas iš populiariausių verslo modeliavimo žaidimų. Šiame žaidime turite sukurti nuostabų transporto verslą. Tačiau pradėsite nuo mažda...
„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...