Django

Sådan oprettes Django Views?

Sådan oprettes Django Views?
Forskellige typer data i Django-applikationen, såsom HTML-indhold, XML-data, JSON-data, billede, 404-fejl osv. overføres til skabelonen via Django-visning. Hver visning oprettes til et bestemt formål og tilknyttes en bestemt skabelon. Visningerne kan genereres fra brugeren via HTML-formular eller fra databasen eller forretningslogikken. Django-visninger kan oprettes ved hjælp af en metode til python-klasse eller python-funktion. De klassebaserede visninger indeholder mange funktioner sammenlignet med funktionsbaserede visninger. Til dette bruger de fleste Django-applikationer klassebaserede visninger til at repræsentere dataene for Django-applikationen. Måderne til oprettelse af den funktionsbaserede visning og klassebaserede visning er blevet forklaret i denne vejledning.

Forudsætninger:

Før du praktiserer eksemplerne på denne vejledning, skal du udføre følgende opgaver:

  1. Installer Django version 3+ på Ubuntu 20+ (helst)
  2. Opret et Django-projekt
  3. Kør Django-serveren for at kontrollere, om serveren fungerer korrekt eller ej

Konfigurer en Django-app:

EN. For at oprette en Django-app med navnet viewapp skal du køre følgende kommando:

$ python3 administrere.py startapp viewapp

B. For at oprette brugeren til adgang til Django-databasen skal du køre følgende kommando. Hvis du har oprettet brugeren før, skal du springe denne del over:

$ python3 administrere.py skaberbruger

C. Tilføj appnavnet i INSTALLED_APP-delen af ​​indstillingerne.py-fil.

INSTALLED_APPS = [
..
'viewapp'
]

D. Opret en mappe med navnet skabeloner inde i viewapp mappe og indstil skabeloner placering af appen i MALLER en del af indstillinger.py fil.

MALLER = [

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

Opret en simpel funktionsbaseret visning:

Åbn synspunkter.py fil fra viewapp mappen og udskift indholdet af denne fil med følgende script. indeks() -funktion bruges i scriptet til at oprette HTML-indholdet, der sendes til browseren ved hjælp af HttpResponse () metode. Her læses systemets aktuelle dato og klokkeslæt ved hjælp af i dag () funktion og den aktuelle datoværdi genereres inden afsendelse til browseren.

Visninger.py

# Importer datomodulet for at læse den aktuelle dato
fra datetime importdato
# Importer HttpResponse-modulet for at sende data fra visning til skabelon
fra django.http importer HttpResponse
# Definer funktion for at oprette funktionsbaseret visning
def index (anmodning):
# Læs den aktuelle dato
i dag = dato.i dag()
# Indstil statiske data til visningen
indhold = "

Velkommen til LinuxHint

"
indhold + = "I dag er" + i dag.strftime ("% B") + "" + i dag.strftime ("% d") + "," + str (i dag.år) + "

"
# Sendt indholdet til browseren
returner HttpResponse (indhold)

Rediger indholdet af webadresser.py fil med følgende script. I manuskriptet er 'Velkommen/' sti er defineret til at kalde indeks() funktion, der sender HTML-indholdet til skabelonfilen.

webadresser.py

# Importer sti-modul
fra django.webadresser til import af sti
# Importvisningsmodul
fra visningsapp importvisninger
# Opkaldsindeksmetode for at få vist indholdet
urlmønstre = [
# Definer sti til opkaldsindeks () -funktion
sti ('velkommen /', visninger.indeks)
]

Kør følgende URL fra browseren, der viser følgende output. En formateret overskriftstekst og den aktuelle datoværdi vises i output.

http: // localhost: 8000 / velkommen /

Opret en enkel klassebaseret visning:

Lave en visninger2.py fil inde i viewapp-mappen og tilføj følgende script. Min udsigt klasse er defineret i scriptet, der indeholder en metode, der hedder få(). En listevariabel med navnet listedata erklæres i scriptet for at oprette en liste med 10 tilfældige tal. Værdierne på listen overføres til skabelonen gennem HttpResponse () metode, når denne visning kaldes. tilfældigt modulet er blevet brugt i scriptet til at generere et tilfældigt heltal i hver iteration af til loop ved hjælp af randint () fungere.

visninger2.py

# Importer HttpResponse-modulet for at sende data fra visning til skabelon
fra django.http importer HttpResponse
# Importvisningsmodul
fra django.visninger importvisning
# Importer tilfældigt modul
import tilfældigt
# Definer klasse til klassebaserede synspunkter
klasse MyView (Vis):
def get (selv, anmodning):
# Erklær listevariablen
listdata = []
# Tilføj det første element på listen
listedata.Tilføj('

listen over 10 tilfældige tal er:

')
# Iterer sløjfen i 10 gange
for n inden for rækkevidde (10):
# Generer et tilfældigt tal inden for 1 til 50
tilfældigt_nummer = tilfældigt.randint (1, 50)
# Tilføj det tilfældige tal på listen
listedata.tilføj (tilfældigt_nummer)
# Tilføj et pauseelement på listen
listedata.Tilføj('
')
# Tilføj det sidste element på listen
listedata.Tilføj('
')
# Send listeværdierne til browseren
returner HttpResponse (listdata)

Rediger indholdet af webadresser.py fil med følgende script. I manuskriptet står "nummer/ ”Sti er defineret til at kalde Min udsigt.som_visning () metode, der sender dataene fra listen til skabelonfilen.

webadresser.py

# Importer sti-modul
fra django.webadresser til import af sti
# Importvisningsmodul
fra visningsapp importvisninger
# Importer MyView-klasse
fra viewapp.views2 importer MyView
# Ring til get-metoden i MyView-klassen
urlmønstre = [
# Definer stien til opkaldsindeks () -funktionen
sti ('velkommen /', visninger.indeks),
# Definer sti til opkald til MyView.as_view () metode
sti ('nummer /', MyView.som_visning ()),
]

Kør følgende URL fra browseren, der viser følgende output. Nummeret på output ændres, hvis siden opdateres, fordi hvert nummer på listen genereres tilfældigt.

http: // localhost: 8000 / nummer /

Konklusion:

Outputtet fra webapplikationen afhænger af scriptet til den visningsfil, der er en stor del af enhver webapplikation. Funktionsbaserede visninger bruges mest i den tidlige version af Django-appen, og nu bruges klassebaserede vies i de fleste applikationer af Django. Måderne til at oprette begge typer visninger er vist i denne vejledning for at hjælpe de nye Django-brugere med at oprette deres synspunkter baseret på deres applikation.

OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...
SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...
Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...