Python

Kuidas luua Django malle?

Kuidas luua Django malle?
Mall sisaldab HTML-andmeid, mis on loodud vaatest ja kuvatakse brauseris. Staatilisi ja dünaamilisi HTML-lehti saab luua malli abil. Loogikat ja kujundust on Django rakenduses eraldi hoitud. Pythoni koodi ei saa Django mallis otse kasutada, kuna brauser ei suuda pythoni koodi tõlgendada. Kujundaja saab HTML-lehti kujundada ainult vajaliku vormingu või stiiliga ning kooder lisab mallile staatilised või dünaamilised andmed, kasutades Django mallikeel (DTL).

Selles õpetuses on näidatud, kuidas Django malli saab luua ja kuidas DTL-i abil saab mallile staatilist või dünaamilist sisu lisada.

DTL-i kasutamise eelised:

Django mallides on DTL-i kasutamisel palju eeliseid. Mõnda neist mainitakse allpool.

  1. Rakenduse loogiline osa ja esitlusosa luuakse eraldi.
  2. Rakenduse laiendamine muutub lihtsamaks.
  3. See aitab vähendada andmete üleliigsust.
  4. See tagab rakenduse turvalisuse.

Eeldused:

Enne selle õpetuse skripti 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 tempapp:

$ python3 hallata.py startapp tempapp

Käivitage järgmine käsk, et luua kasutaja Django andmebaasile juurdepääsuks, kuid kui olete selle kasutaja varem loonud, ei pea te allpool näidatud käsku käivitama:

$ python3 hallata.py loob ülikasutaja

Lisage rakenduse nimi rakendusse INSTALLED_APP osa seaded.py fail, nagu allpool näidatud:

INSTALLED_APPS = [

'tempapp'
]

Looge kaust nimega mallid sees tempapp kaust ja määrake malli omad rakenduse asukoht MALLID osa seaded.py fail, nagu allpool näidatud:

MALLID = [

… .
'DIRS': ['/ home / fahmida / django_pro / tempapp / mallid'],
… .
,
]

Looge lihtne Django mall:

Looge indeks.HTML faili sees tempapp / mallid / kaust järgmise HTML-skriptiga, et kuvada brauseris kahe rea vormindatud staatiline tekst. HTML-faili ei saa kuvada otse brauseris ja vaated.py faili kasutatakse HTML-faili renderdamiseks Django rakenduses.

indeks.HTML





Django õpetused



Õpi Django mallikeelt


Django on populaarne pythoni raamistik veebirakenduste kujundamiseks




Ava vaated.py fail pärit tempapp kaust ja lisage järgmine skript. The rändur () meetodit kasutatakse aastal vaated.py mis tahes mallifaili kuvamine brauseris.

Järgmises skriptis on indeks () funktsioon on määratletud kuvama sisu indeks.HTML faili. Kui see funktsioon helistab URL-id.py faili, siis kuvatakse brauseris mallifail.

vaated.py

# Impordi renderdamise moodul djangost
alates django.otseteed impordi renderdamine
# Loo indeksfunktsioon HTML-faili kuvamiseks brauseris
def indeks (taotlus):
tagastage renderdamine (taotlus, indeks.HTML ")

Muutke sisu URL-id.py fail järgmise skriptiga. Stsenaariumi järgi, indeks () funktsioon vaated.py kutsutakse teele, 'register /'.

URL-id.py

# Importimooduli import
alates django.URL-ide importimise tee
# Impordi vaated
tempappi impordivaadetest
# Määratlege indeksi tee meetod
urlpatterns = [
tee ('register /', vaated.register) python3 haldama.py loob ülikasutaja
]

Järgmise väljundi saamiseks käivitage brauseris järgmine URL. Staatilised andmed kuvatakse väljundis.

http: // localhost: 8000 / index /

Looge DTL-iga Django mall:

Looge klientidele.HTML faili sees tempapp / mallid / kaust järgmise HTML-skriptiga. DTL-i kasutatakse selles skriptis sõnastikumuutuja andmete kuvamiseks, mis initsialiseeritakse pesastatud loendite andmetega vaated2.py faili. Esimene eest silmust kasutatakse välise loendi ja teise väärtuste lugemiseks eest loopi kasutatakse sisemise loendi väärtuste lugemiseks.

klientidele.HTML





Kliendi info




Klientide loend






% klientide ridade puhul%

% veergude jaoks ridades%

% endfor%

% endfor%
IDNimiE-postTelefon
col



Looge teine ​​vaatefail nimega vaated2.py all tempapp kaust järgmise skriptiga. Sõnastiku muutuja nimega andmed on deklareeritud skriptis, mis sisaldab pesastatud loendit, et luua tabeliandmeid 4 reast ja 4 veerust. The andmed muutuja saadetakse mallile, kui kliendid () Selle skripti funktsiooni kutsutakse URL-id.py faili.

vaated2.py

# impordib renderdamismooduli djangost
alates django.otseteed impordi renderdamine
# looge funktsioon tabeliandmete malliks saatmiseks
def kliendid (taotlus):
# määrake pesastatud loendi sõnastik
andmed = "kliendid": [['6745', 'Monir Hossain', '[meiliga kaitstud]', '880191345234'],
['7845', 'Keya Akter', '[meiliga kaitstud]', '880189045673'],
['9056', 'Mohammed Ali', '[meiliga kaitstud]', '880179893922'],
['4536', 'Mostafa Kamal', '[meiliga kaitstud]', '880157665433']]

# vastus malli ja andmetega
tagastage renderdamine (taotlus, "kliendid.HTML ", andmed)

Muutke URL-id.py fail järgmise skriptiga. "kliendid /'on skripti järgi määratud tee klientidele.HTML fail brauseris sõnaraamatu andmetega.

URL-id.py

# Importimooduli import
alates django.URL-ide importimise tee
# Impordi vaated
tempapi impordivaadetest
# Impordi vaated2
tempapp-i impordivaadetest
# Määratlege meetodid indeksi ja klientide teede jaoks
urlpatterns = [
tee ('register /', vaated.indeks),
tee ('kliendid /', vaated2.kliendid)
]

Järgmise väljundi saamiseks käivitage brauseris järgmine URL. Kõigi klientide kirjed andmebaasitabelitest on brauseris kuvatud DTL-i abil.

http: // localhost: 8000 / klienti /

Järeldus:

Selles õpetuses on näidatud lihtsa malli ja Django mallikeelega (DTL) malli loomise viise. Uued Django kasutajad saavad pärast selle õpetuse skripti harjutamist Django rakenduse malli korralikult luua.

SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...
Lahing Wesnothi õpetuse eest
Battle for Wesnoth on üks populaarsemaid avatud lähtekoodiga strateegiamänge, mida saate praegu mängida. See mäng pole mitte ainult olnud väga pikka a...
0 A.D. Õpetus
Paljudest strateegiamängudest on 0 A.D. suudab silma paista põhjaliku tiitli ja väga sügava taktikalise mänguna, hoolimata sellest, et see on avatud l...