Django

Hur man skapar Django-vyer?

Hur man skapar Django-vyer?
Olika typer av data för Django-applikationen, till exempel HTML-innehåll, XML-data, JSON-data, bild, 404-fel, etc. överförs till mallen via Django-vyn. Varje vy skapas för ett specifikt syfte och associeras med en viss mall. Informationen i vyn kan genereras från användaren via HTML-formulär eller från databasen eller affärslogiken. Django-vyer kan skapas med en metod för pythonklass eller pythonfunktion. De klassbaserade vyerna innehåller många funktioner jämfört med funktionsbaserade vyer. För detta använder de flesta Django-applikationer klassbaserade vyer för att representera data för Django-applikationen. Sätten att skapa den funktionsbaserade vyn och klassbaserade vyn har förklarats i denna handledning.

Förutsättningar:

Innan du övar på exemplen i denna handledning måste du slutföra följande uppgifter:

  1. Installera Django version 3+ på Ubuntu 20+ (helst)
  2. Skapa ett Django-projekt
  3. Kör Django-servern för att kontrollera om servern fungerar korrekt eller inte

Ställ in en Django-app:

A. För att skapa en Django-app med namnet viewapp, kör du följande kommando:

$ python3 hantera.py startapp viewapp

B. För att skapa en användare för åtkomst till Django-databasen, kör följande kommando. Om du har skapat användaren tidigare hoppar du över den här delen:

$ python3 hantera.py skaparanvändare

C. Lägg till appnamnet i INSTALLED_APP-delen av inställningarna.py-fil.

INSTALLED_APPS = [
..
'viewapp'
]

D. Skapa en mapp med namnet mallar inuti viewapp mapp och ställ in mallar plats för appen i MALLAR del av inställningar.py fil.

MALLAR = [

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

Skapa en enkel funktionsbaserad vy:

Öppna utsikt.py fil från viewapp mappen och ersätt innehållet i den här filen med följande skript. index() -funktionen används i skriptet för att skapa HTML-innehåll som skickas till webbläsaren med hjälp av HttpResponse () metod. Här kommer systemets aktuella datum och tid att läsas med hjälp av idag () funktion och det aktuella datumvärdet genereras innan du skickar till webbläsaren.

Visningar.py

# Importera datummodulen för att läsa det aktuella datumet
från importdatum för datetime
# Importera HttpResponse-modulen för att skicka data från vy till mall
från django.http importera HttpResponse
# Definiera funktion för att skapa funktionsbaserad vy
def index (begäran):
# Läs det aktuella datumet
idag = datum.i dag()
# Ställ in statisk data för vyn
innehåll = "

Välkommen till LinuxHint

"
innehåll + = "Idag är" + idag.strftime ("% B") + "" + idag.strftime ("% d") + "," + str (idag.år) + "

"
# Skickade innehållet till webbläsaren
returnera HttpResponse (innehåll)

Ändra innehållet i webbadresser.py fil med följande skript. I manuset, 'Välkommen/' sökväg definieras för att anropa index() funktion som skickar HTML-innehållet till mallfilen.

webbadresser.py

# Importera sökvägsmodul
från django.webbadress för webbadresser
# Importera vyn modul
från viewapps importvyer
# Metod för samtalsindex för att visa innehållet
urlmönster = [
# Definiera sökväg till funktionen för samtalsindex ()
sökväg ('välkommen /', vyer.index)
]

Kör följande URL från webbläsaren som visar följande utdata. En formaterad rubriktext och det aktuella datumvärdet visas i utdata.

http: // localhost: 8000 / välkommen /

Skapa en enkel klassbaserad vy:

Skapa en vyer2.py filen i viewapp-mappen och lägg till följande skript. MyView klass definieras i skriptet som innehåller en metod som heter skaffa sig(). En listvariabel med namnet listdata förklaras i manuset för att skapa en lista med 10 slumpmässiga nummer. Värdena i listan kommer att skickas till mallen genom HttpResponse () metod när denna vy kallas. det slumpmässiga modulen har använts i skriptet för att generera ett slumpmässigt heltal i varje iteration av för loop med hjälp av randint () fungera.

vyer2.py

# Importera HttpResponse-modulen för att skicka data från vy till mall
från django.http importera HttpResponse
# Importera vyn modul
från django.visningar importera Visa
# Importera slumpmässig modul
importera slumpmässigt
# Definiera klass för klassbaserade vyer
klass MyView (Visa):
def get (själv, begäran):
# Förklara listvariabeln
listdata = []
# Lägg till det första elementet i listan
listdata.bifoga('

listan över tio slumpmässiga nummer är:

')
# Iterera slingan tio gånger
för n inom intervallet (10):
# Skapa ett slumpmässigt tal inom 1 till 50
slumpmässigt_nummer = slumpmässigt.randint (1, 50)
# Lägg till slumptalet i listan
listdata.lägg till (slumpmässigt_nummer)
# Lägg till ett brytelement i listan
listdata.bifoga('
')
# Lägg till det sista elementet i listan
listdata.bifoga('
')
# Skicka listvärdena till webbläsaren
returnera HttpResponse (listdata)

Ändra innehållet i webbadresser.py fil med följande skript. I manuset står ”siffra/ ”Sökväg definieras för att anropa MyView.as_view () metod som skickar data från listan till mallfilen.

webbadresser.py

# Importera sökvägsmodul
från django.webbadress för webbadresser
# Importera vyn modul
från viewapps importvyer
# Importera MyView-klass
från viewapp.views2 importera MyView
# Ring till get-metoden i MyView-klassen
urlmönster = [
# Definiera sökväg till samtalsindex () -funktion
sökväg ('välkommen /', vyer.index),
# Definiera sökväg för att ringa MyView.as_view () -metod
sökväg ('nummer /', MyView.as_view ()),
]

Kör följande URL från webbläsaren som visar följande utdata. Utdataens nummer kommer att ändras om sidan uppdateras eftersom varje nummer i listan genereras slumpmässigt.

http: // localhost: 8000 / nummer /

Slutsats:

Utgången från webbapplikationen beror på skriptet för den visningsfil som är en stor del av alla webbapplikationer. Funktionsbaserade vyer används mest i den tidiga versionen av Django-appen och nu används klassbaserade vies i de flesta applikationer av Django. Sätten att skapa båda typerna av vyer har visats i denna handledning för att hjälpa de nya Django-användarna att skapa sina vyer baserat på deras applikation.

Mus Hur man använder Xdotool för att stimulera musklick och tangenttryckningar i Linux
Hur man använder Xdotool för att stimulera musklick och tangenttryckningar i Linux
Xdotool är ett ledigt verktyg för öppen källkod för simulering av musklick och tangenttryckningar. Den här artikeln kommer att täcka en kort guide om ...
Mus Topp 5 Ergonomiska datormusprodukter för Linux
Topp 5 Ergonomiska datormusprodukter för Linux
Ger långvarig datoranvändning smärta i handleden eller fingrarna? Lider du av styva leder och måste ständigt skaka hand? Känner du en brännande smärta...
Mus Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
De flesta Linux-distributioner levereras med "libinput" -bibliotek som standard för att hantera inmatningshändelser i ett system. Den kan bearbeta inm...