So erstellen Sie Django -Ansichten?

So erstellen Sie Django -Ansichten?
Verschiedene Arten von Daten der Django -Anwendung, wie z. B. HTML -Inhalt, XML -Daten, JSON -Daten, Bild, 404 Fehler usw. werden über Django View in die Vorlage übertragen. Jede Ansicht wird für einen bestimmten Zweck erstellt und einer bestimmten Vorlage zugeordnet. Die Daten der Ansicht können vom Benutzer über das HTML -Formular oder aus der Datenbank oder der Geschäftslogik generiert werden. Django -Ansichten können mit einer Methode der Python -Klasse oder Python -Funktion erstellt werden. Die klassenbasierten Ansichten enthalten viele Funktionen im Vergleich zu funktionsbasierten Ansichten. Zu diesem Zweck verwenden die meisten Django-Anwendungen klassenbasierte Ansichten, um die Daten der Django-Anwendung darzustellen. Die Möglichkeiten zum Erstellen der funktionsbasierten Ansicht und der klassenbasierten Ansicht wurden in diesem Tutorial erläutert.

Voraussetzungen:

Bevor Sie die Beispiele dieses Tutorials üben, müssen Sie die folgenden Aufgaben erledigen:

  1. Installieren Sie die Django Version 3+ auf Ubuntu 20+ (vorzugsweise)
  2. Erstellen Sie ein Django -Projekt
  3. Führen Sie den Django -Server aus, um zu überprüfen, ob der Server ordnungsgemäß funktioniert oder nicht

Richten Sie eine Django -App ein:

A. Führen Sie den folgenden Befehl aus, um eine Django -App mit dem Namen ViewApp auszuführen:

$ python3 verwalten.PY startApp ViewApp

B. Führen Sie den folgenden Befehl aus, um den Benutzer zum Zugriff auf die Django -Datenbank zu erstellen. Wenn Sie den Benutzer zuvor erstellt haben, überspringen Sie diesen Teil:

$ python3 verwalten.Py erzeugt

C. Fügen Sie den App -Namen in den Teil der Einstellungen installed_app hinzu.PY -Datei.

Installed_apps = [

"ViewApp"
]

D. Erstellen Sie einen Ordner mit dem Namen Vorlagen in der ViewApp Ordner und setzen Sie die Vorlage Ort der App in der Vorlagen Teil der Einstellungen.py Datei.

Vorlagen = [

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

Erstellen Sie eine einfache funktionsbasierte Ansicht:

Öffne das Ansichten.py Datei aus der ViewApp Ordner und ersetzen Sie den Inhalt dieser Datei durch das folgende Skript. Index() Die Funktion wird im Skript verwendet, um den HTML -Inhalt zu erstellen, der mit dem Browser an den Browser gesendet wird Httpresponse () Methode. Hier wird das aktuelle Datum und die aktuelle Uhrzeit des Systems verwendet der heutige () Funktion und der aktuelle Datumswert werden vor dem Senden an den Browser generiert.

Ansichten.py

# Importieren Sie das Datumsmodul, um das aktuelle Datum zu lesen
Ab DateTime Import Datum
# Importieren Sie das HTTPResponse -Modul, um Daten von der Ansicht an die Vorlage zu senden
von django.http import httPesponse
# Funktion definieren, um eine funktionsbasierte Ansicht zu erstellen
Def Index (Anfrage):
# Lesen Sie das aktuelle Datum
heute = Datum.Heute()
# Setzen Sie statische Daten für die Ansicht
content = "

Willkommen bei LinuxHint

"
Inhalt + = "heute ist" + heute.Strftime ("%b") + "" + heute.Strftime ("%d") + "," + str (heute.Jahr) + "

"
# Der Inhalt hat an den Browser gesendet
Rückgabe httPesponse (Inhalt)

Ändern Sie den Inhalt der URLs.py Datei mit dem folgenden Skript. Im Skript die 'Willkommen/' Pfad wird definiert, um das aufzurufen Index() Funktion, die den HTML -Inhalt an die Vorlagendatei sendet.

URLs.py

# Pfadmodul importieren
von django.URLS -Importweg
# Modul anzeigen importieren
Aus ViewApp -Importansichten
# Index -Methode aufrufen, um den Inhalt anzuzeigen
urlpatterns = [
# Definieren Sie den Pfad zum Aufrufen von Index () -Funktion
Pfad ('Willkommen/', Ansichten.Index)
]

Führen Sie die folgende URL aus dem Browser aus, der die folgende Ausgabe anzeigt. Ein formatierter Schlagzeilentext und der aktuelle Datumswert sind in der Ausgabe angezeigt.

http: // localhost: 8000/willkommen/

Erstellen Sie eine einfache klassenbasierte Ansicht:

Ein ... kreieren Ansichten2.py Datei in dem Ordner viewApp und fügen Sie das folgende Skript hinzu. Meine Sicht Die Klasse wird in dem Skript definiert, das eine Methode mit dem Namen enthält erhalten(). Eine Listenvariable benannt ListData wird im Skript deklariert, um eine Liste mit 10 Zufallszahlen zu erstellen. Die Werte der Liste werden über die an die Vorlage übergeben Httpresponse () Methode, wenn diese Ansicht aufgerufen wird. das zufällige Modul wurde im Skript verwendet, um in jeder Iteration der Iteration eine zufällige Ganzzahl -Nummer zu generieren für Schleife mit dem Randint () Funktion.

Ansichten2.py

# Importieren Sie das HTTPResponse -Modul, um Daten von der Ansicht an die Vorlage zu senden
von django.http import httPesponse
# Modul anzeigen importieren
von django.Ansichten der Importansicht
# Zufallsmodul importieren
zufällig importieren
# Klasse für klassenbasierte Ansichten definieren
Klasse MyView (Ansicht):
Auf jeden Fall (Selbst, Anfrage):
# Die Listenvariable deklarieren
listData = []
# Fügen Sie das erste Element der Liste hinzu
ListData.anhängen ('

Die Liste von 10 zufälligen Zahlen lautet:

'))
# Die Schleife 10 Mal wiederholen
für n im Bereich (10):
# Generieren Sie eine Zufallszahl innerhalb von 1 bis 50
random_number = random.Randint (1, 50)
# Fügen Sie die Zufallszahl in die Liste hinzu
ListData.append (random_number)
# Fügen Sie in der Liste ein Pausenelement hinzu
ListData.anhängen ('
'))
# Fügen Sie das letzte Element der Liste hinzu
ListData.anhängen ('')
# Senden Sie die Listenwerte an den Browser
Rückgabe httPesponse (ListData)

Ändern Sie den Inhalt der URLs.py Datei mit dem folgenden Skript. Im Skript, das “Nummer/”Pfad wird definiert, um das aufzurufen Meine Sicht.As_view () Methode, die die Daten der Liste an die Vorlagendatei sendet.

URLs.py

# Pfadmodul importieren
von django.URLS -Importweg
# Modul anzeigen importieren
Aus ViewApp -Importansichten
# MyView -Klasse importieren
von ViewApp.Views2 MyView importieren
# Rufen Sie die GET -Methode der MyView -Klasse an
urlpatterns = [
# Definieren Sie den Pfad zum Aufrufen von Index () -Funktion
Pfad ('Willkommen/', Ansichten.Index),
# Pfad definieren, um MyView anzurufen.As_view () Methode
Pfad ('Nummer/', MyView.As_view ()),
]

Führen Sie die folgende URL aus dem Browser aus, der die folgende Ausgabe anzeigt. Die Nummern der Ausgabe werden geändert, wenn die Seite aktualisiert wird, da jede Anzahl der Liste zufällig generiert wird.

http: // localhost: 8000/number/

Abschluss:

Die Ausgabe der Webanwendung hängt vom Skript der Ansichtsdatei ab, die ein wesentlicher Bestandteil einer Webanwendung ist. Funktionsbasierte Ansichten werden hauptsächlich in der frühen Version der Django-App verwendet, und jetzt werden klassenbasierte VIEs in den meisten Anwendungen von Django verwendet. In diesem Tutorial wurden die Möglichkeiten zum Erstellen von beiden Arten von Ansichten gezeigt, um den neuen Django -Benutzern ihre Ansichten basierend auf ihrer Anwendung zu erstellen.