Django

Kuidas luua Django vaateid?

Kuidas luua Django vaateid?
Django rakenduse eri tüüpi andmed, nagu HTML-sisu, XML-andmed, JSON-andmed, pilt, viga 404 jne. kantakse mallile Django vaate kaudu. Iga vaade luuakse kindlal eesmärgil ja seotakse kindla malliga. Vaate andmeid saab genereerida kasutajalt HTML-vormi kaudu või andmebaasist või äriloogikast. Django vaateid saab luua pythoni klassi või pythoni funktsiooni meetodil. Klassipõhised vaated sisaldavad palju funktsioone võrreldes funktsioonipõhiste vaadetega. Selleks kasutab enamik Django rakendusi Django rakenduse andmete esitamiseks klassipõhiseid vaateid. Selles õpetuses on selgitatud funktsiooni- ja klassivaate loomise viise.

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:

A. Django rakenduse nimega viewapp loomiseks käivitage järgmine käsk:

$ python3 hallata.py startapp viewapp

B. Kasutaja loomiseks juurdepääsuks Django andmebaasile käivitage järgmine käsk. Kui olete kasutaja varem loonud, jätke see osa vahele:

$ python3 hallata.py loob ülikasutaja

C. Lisage rakenduse nimi seadete ossa INSTALLED_APP.py-fail.

INSTALLED_APPS = [

'viewapp'
]

D. Looge kaust nimega mallid sees viewapp kaust ja määrake malli omad rakenduse asukoht MALLID osa seaded.py faili.

MALLID = [

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

Looge lihtne funktsioonipõhine vaade:

Ava vaated.py fail failist viewapp kaust ja asendage selle faili sisu järgmise skriptiga. indeks () funktsiooni kasutatakse skriptis HTML-i sisu loomiseks, mis saadetakse brauserile, kasutades HttpResponse () meetod. Siin loetakse süsteemi praegust kuupäeva ja kellaaega kasutades täna () funktsioon ja praegune kuupäeva väärtus genereeritakse enne brauserisse saatmist.

Vaated.py

# Praeguse kuupäeva lugemiseks importige kuupäevamoodul
alates kuupäevaaja impordikuupäevast
# Andmete vaatest malli mallide saatmiseks importige HttpResponse moodul
alates django.http import HttpResponse
# Funktsioonipõhise vaate loomiseks määratlege funktsioon
def indeks (taotlus):
# Lugege praegust kuupäeva
täna = kuupäev.täna ()
# Määra vaate staatilised andmed
sisu = "

Tere tulemast LinuxHinti

"
sisu + = "Täna on" + täna.strftime ("% B") + "" + täna.strftime ("% d") + "," + str (täna.aasta) + "

"
# Saadetud sisu brauserisse
tagastama HttpResponse (sisu)

Muutke sisu URL-id.py fail järgmise skriptiga. Stsenaariumis 'Tere tulemast/' on määratud tee kutsumiseks indeks () funktsioon, mis saadab HTML-faili mallifaili.

URL-id.py

# Importimooduli import
alates django.URL-ide importimise tee
# Vaate mooduli importimine
vaatest rakenduse importivaated
# Kõneindeksi meetod sisu kuvamiseks
urlpatterns = [
# Määratlege kõneindeksi () funktsiooni tee
tee ('tere tulemast /', vaated.indeks)
]

Käivitage brauseris järgmine URL, mis kuvab järgmist väljundit. Vormindatud pealkirja tekst ja praegune kuupäeva väärtus kuvatakse väljundis.

http: // localhost: 8000 / welcome /

Looge lihtne klassipõhine vaade:

Loo vaated2.py faili kausta viewapp sees ja lisage järgmine skript. Minu vaade klass on määratletud skriptis, mis sisaldab meetodit nimega saada (). Nimega loendimuutuja listdata on skriptis deklareeritud 10 juhusliku numbri loendi loomiseks. Loendi väärtused edastatakse mallile malli kaudu HttpResponse () meetodit, kui seda vaadet kutsutakse. juhuslik moodulit on skriptis kasutatud juhusliku täisarvu loomiseks igas iteratsioonis eest silmus, kasutades randint () funktsioon.

vaated2.py

# Andmete vaatest malli mallide saatmiseks importige HttpResponse moodul
alates django.http import HttpResponse
# Vaate mooduli importimine
alates django.vaadete importvaade
# Impordi juhuslik moodul
impordi juhuslikult
# Määratlege klassipõhiste vaadete klass
klassi MyView (vaade):
def get (ise, taotle):
# Deklareerige loendi muutuja
loendiandmed = []
# Lisage loendi esimene element
listdata.lisa ('

10 juhusliku arvu loend on:

')
# Kordus silmus 10 korda
n jaoks vahemikus (10):
# Looge juhuslik arv vahemikus 1 kuni 50
juhuslik_arv = juhuslik.randint (1, 50)
# Lisage loendisse juhuslik number
listdata.lisa (juhuslik_arv)
# Lisage loendisse katkestuse element
listdata.lisa ('
')
# Lisage loendi viimane element
listdata.lisa ('
')
# Saada loendi väärtused brauserisse
tagastage HttpResponse (listdata)

Muutke sisu URL-id.py fail järgmise skriptiga. Skriptis onnumber/ ”On määratletud tee kutsumiseks Minu vaade.as_view () meetod, mis saadab loendi andmed mallifaili.

URL-id.py

# Importimooduli import
alates django.URL-ide importimise tee
# Vaate mooduli importimine
vaatest rakenduse importivaated
# Importige MyView klass
viewapp-ist.views2 impordib MyView
# Helistage MyView klassi get-meetodile
urlpatterns = [
# Määrake funktsiooni kõneindeks () tee
tee ('tere tulemast /', vaated.indeks),
# Määrake MyView helistamise tee.as_view () meetod
tee ('number /', MyView.as_view ()),
]

Käivitage brauseris järgmine URL, mis kuvab järgmist väljundit. Lehe värskendamisel muudetakse väljundi numbreid, kuna loendi iga number luuakse juhuslikult.

http: // localhost: 8000 / number /

Järeldus:

Veebirakenduse väljund sõltub vaatefaili skriptist, mis on suurem osa mis tahes veebirakendusest. Funktsioonipõhiseid vaateid kasutatakse enamasti Django rakenduse varases versioonis ja nüüd kasutatakse enamikus Django rakendustes klassipõhiseid viite. Selles õpetuses on näidatud mõlemat tüüpi vaadete loomise viisid, mis aitavad uutel Django kasutajatel oma rakenduse põhjal oma vaateid luua.

Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...
Kuidas kasutada GameConquerori petumootorit Linuxis
Artikkel sisaldab juhendit GameConquerori petumootori kasutamise kohta Linuxis. Paljud kasutajad, kes mängivad Windowsis mänge, kasutavad rakendust „C...
Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...