Django

Hogyan hozhatunk létre Django nézeteket?

Hogyan hozhatunk létre Django nézeteket?
A Django alkalmazás különböző típusú adatai, például HTML tartalom, XML adatok, JSON adatok, kép, 404 hiba stb. a Django nézeten keresztül kerülnek át a sablonba. Minden nézet meghatározott célra jön létre, és egy adott sablonhoz van társítva. A nézet adatai előállíthatók a felhasználóból HTML-űrlapon keresztül, vagy az adatbázisból vagy az üzleti logikából. A Django nézetek python osztály vagy python függvény módszerével hozhatók létre. Az osztályalapú nézetek a funkcióalapú nézetekhez képest sok funkciót tartalmaznak. Ehhez a legtöbb Django alkalmazás osztályalapú nézeteket használ a Django alkalmazás adatainak ábrázolására. Ebben az oktatóanyagban ismertetjük a függvényalapú nézet és az osztályalapú nézet létrehozásának módjait.

Előfeltételek:

Az oktatóanyag példáinak gyakorlása előtt el kell végeznie a következő feladatokat:

  1. Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
  2. Hozzon létre egy Django projektet
  3. Futtassa a Django szervert annak ellenőrzésére, hogy a szerver megfelelően működik-e vagy sem

Állítson be egy Django alkalmazást:

A. Viewapp nevű Django alkalmazás létrehozásához futtassa a következő parancsot:

$ python3 kezelni.py startapp viewapp

B. A felhasználó létrehozásához a Django adatbázis eléréséhez futtassa a következő parancsot. Ha korábban létrehozta a felhasználót, akkor hagyja ki ezt a részt:

$ python3 kezelni.py létrehozza a túlfelhasználót

C. Adja hozzá az alkalmazás nevét a beállítások INSTALLED_APP részéhez.py fájl.

INSTALLED_APPS = [

'viewapp'
]

D. Hozzon létre egy nevű mappát sablonok benne viewapp mappát, és állítsa be a sablonok az alkalmazás helye a Sablonok része a beállítások.py fájl.

Sablonok = [

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

Hozzon létre egy egyszerű függvényalapú nézetet:

Nyissa meg a nézetek.py fájl a viewapp mappát, és cserélje le a fájl tartalmát a következő szkriptre. index() függvényt használnak a szkriptben, hogy létrehozzák a böngészőhöz a HttpResponse () módszer. Itt a rendszer aktuális dátumát és idejét olvassuk le a mai () függvény és az aktuális dátumérték generálódik, mielőtt elküldené a böngészőbe.

Nézetek.py

# Importálja a dátum modult az aktuális dátum olvasásához
a datetime importálás dátumától
# Importálja a HttpResponse modult, hogy adatokat nézetből sablonba küldjön
djangótól.http import HttpResponse
# Definiálja a függvényt függvényalapú nézet létrehozásához
def index (kérés):
# Olvassa el az aktuális dátumot
ma = dátum.Ma()
# Statikus adatok beállítása a nézethez
tartalom = "

Üdvözli a LinuxHint

"
tartalom + = "Ma van" + ma.strftime ("% B") + "" + ma.strftime ("% d") + "," + str (ma.év) + "

"
# A tartalmat elküldte a böngészőbe
return HttpResponse (tartalom)

Módosítsa a URL-ek.py a következő szkriptet tartalmazó fájl. A forgatókönyvben a 'Üdvözöljük/' elérési út definiálva van a index() függvény, amely elküldi a HTML-tartalmat a sablonfájlba.

URL-ek.py

# Útvonal modul importálása
djangótól.URL importálási útvonal
# Nézet modul importálása
a viewapp import nézeteiből
# Hívásindex módszer a tartalom megjelenítéséhez
urlpatterns = [
# Határozza meg az index () függvény elérési útját
elérési út ('welcome /', nézetek.index)
]

Futtassa a következő URL-t a böngészőből, amely a következő kimenetet jeleníti meg. A kimenetben megjelenik egy formázott címsor szöveg és az aktuális dátumérték.

http: // localhost: 8000 / welcome /

Hozzon létre egy egyszerű osztályalapú nézetet:

Hozzon létre egy nézetek2.py fájlt a viewapp mappában, és adja hozzá a következő parancsfájlt. Az én nézetem osztály meg van határozva a szkriptben, amely egy megnevezett metódust tartalmaz kap(). Megnevezett listaváltozó listadata a szkriptben deklarálva van, hogy 10 véletlenszámú listát hozzon létre. A lista értékeit a sablon továbbítja a HttpResponse () módszer, amikor ezt a nézetet meghívják. a véletlenszerű modult használtak a szkriptben, hogy véletlenszerű egész számot generáljanak a mert hurok a randint () funkció.

nézetek2.py

# Importálja a HttpResponse modult, hogy adatokat nézetből sablonba küldjön
djangótól.http import HttpResponse
# Nézet modul importálása
djangótól.nézetek importálása nézet
# Véletlen modul importálása
véletlenszerű importálás
# Definiálja az osztályt az osztályalapú nézetekhez
osztály MyView (Nézet):
def get (én, kérés):
# Nyissa meg a listaváltozót
listdata = []
# Adja hozzá a lista első elemét
listadata.mellékel('

10 véletlenszerű számot sorol fel:

')
# 10 alkalommal iteráljuk a hurkot
n esetén a tartományban (10):
# Generáljon véletlen számot 1 és 50 között
random_number = véletlenszerű.randint (1, 50)
# Adja hozzá a véletlenszerű számot a listához
listadata.függelék (random_number)
# Adjon hozzá egy break elemet a listához
listadata.mellékel('
')
# Adja hozzá a lista utolsó elemét
listadata.mellékel('
')
# Küldje el a lista értékeit a böngészőnek
return HttpResponse (listdata)

Módosítsa a URL-ek.py a következő szkriptet tartalmazó fájl. A szkriptben a „szám/ ”Elérési út van meghatározva a Az én nézetem.as_view () módszer, amely elküldi a lista adatait a sablonfájlba.

URL-ek.py

# Útvonal modul importálása
djangótól.URL importálási útvonal
# Nézet modul importálása
a viewapp import nézeteiből
# MyView osztály importálása
from viewapp.views2 a MyView importálása
# Hívja meg a MyView osztály get metódusát
urlpatterns = [
# Határozza meg a hívásindex () függvény elérési útját
elérési út ('welcome /', nézetek.index),
# Adja meg a MyView hívásának útvonalát.as_view () metódus
elérési út ('szám /', MyView.as_view ()),
]

Futtassa a következő URL-t a böngészőből, amely a következő kimenetet jeleníti meg. A kimenet száma megváltozik, ha az oldal frissül, mert a lista minden egyes számát véletlenszerűen generálják.

http: // localhost: 8000 / szám /

Következtetés:

A webalkalmazás kimenete attól a nézetfájl szkriptjétől függ, amely minden webalkalmazás fő része. A függvény-alapú nézeteket leginkább a Django alkalmazás korai verziójában használják, és most az osztály-alapú vendégeket használják a Django legtöbb alkalmazásában. Mindkét típusú nézet létrehozásának módja bemutatásra került ebben az oktatóanyagban, hogy segítsen az új Django felhasználóknak az alkalmazásuk alapján létrehozni a nézeteiket.

A legjobb 10 játék az Ubuntuban
A Windows platform a játékok egyik domináns platformja volt, mivel a játékokat hatalmas százalékban fejlesztik ma a natív Windows támogatására. Kihívh...
5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...
Csata a Wesnothért 1.13.6 Megjelent a fejlesztés
Csata a Wesnothért 1.13.A múlt hónapban megjelent 6 a hatodik fejlesztési kiadás az 1-ben.13.x sorozat, és számos fejlesztést hajt végre, nevezetesen ...