Forudsætninger:
Før du praktiserer eksemplerne på denne vejledning, skal du udføre følgende opgaver:
- Installer Django version 3+ på Ubuntu 20+ (helst)
- Opret et Django-projekt
- 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 viewappB. 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 skaberbrugerC. 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 datofra 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-modulfra 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 skabelonfra 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-modulfra 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.