Verwendung von Django -Anforderungen und Antwortobjekten

Verwendung von Django -Anforderungen und Antwortobjekten
Der Anforderungs-Wirkungs-Zyklus wird verwendet, um die Daten zwischen Client und Server in allen Arten von Web-APIs zu übertragen. Die Client-Server-Architektur wird im Django-Framework verwendet, um die Webanwendung zu implementieren. Die Anforderung und Antwort sind die beiden Hauptkomponenten der Client-Server-Anwendung. Ein Httprequest Das Objekt wird in der Django -Anwendung erstellt, wenn ein Client eine Ressource anfordert. Eine bestimmte Ansichtsfunktion wird verwendet, um die Anforderung zu verarbeiten und die Antwort mit der Antwort zu senden Httpresponse Objekt. Die Verwendung verschiedener Attribute und Methoden von Httprequest Und Httpresponse Klassen des Django -Frameworks werden in diesem Tutorial erklärt.

Django httprequest Klasse:

Httprequest Die Klasse wird verwendet, um die Clientanforderung zu behandeln, die in der definiert ist Django.http Modul. Die Attribute dieser Klasse werden unten erwähnt.

Httprequest -Attribute:

Attributname Zweck
Httprequest.Weg Der vollständige Pfad der angeforderten Seite wird durch dieses Attribut zurückgegeben. Das Schema oder die Domäne ist nicht im zurückgegebenen Wert enthalten.
Httprequest.Path_info Der Pfadinfo -Teil dieses Pfades wird durch dieses Attribut angezeigt.
Httprequest.Methode Die für die Anforderung verwendete HTTP -Methode wird durch dieses Attribut angezeigt.
Httprequest.planen Das Schema der Anfrage (HTTP oder HTTPS) wird durch dieses Attribut dargestellt.
Httprequest.Körper Die RAW HTTP -Anforderungsorganisation wird durch dieses Attribut als Byte -Zeichenfolge zurückgegeben.
Httprequest.ERHALTEN Alle HTTP -Parameter werden durch dieses Attribut als Wörterbuchobjekt zurückgegeben.
Httprequest.POST Alle HTTP -Postparameter werden durch dieses Attribut als Wörterbuchobjekt zurückgegeben.
Httprequest.KEKSE Alle verfügbaren Cookies werden durch dieses Attribut zurückgegeben.
Httprequest.Dateien Alle hochgeladenen Dateien sind durch dieses Attribut enthalten.
Httprequest.META Alle verfügbaren HTTP -Header werden durch dieses Attribut angezeigt.
Httprequest.Inhaltstyp Der MIME -Typ der Anforderung, der aus dem Header content_type analysiert wird, wird durch dieses Attribut angezeigt.
Httprequest.Content_params Ein Wörterbuchobjekt, das in den Header content_type enthalten ist, wird durch dieses Attribut zurückgegeben.
Httprequest.Codierung Die verwendete aktuelle Codierung zur Dekodierung der übermittelten Formulardaten wird durch dieses Attribut angezeigt.

Httprequest -Methoden:

Methode Zweck
Httprequest.get_host () Es wird verwendet, um den tatsächlichen Hostnamen der Anfrage zurückzugeben.
Httprequest.get_full_path () Es wird verwendet, um den Pfad und die Abfragezeichenfolge zurückzugeben, falls verfügbar.
Httprequest.get_port () Es wird verwendet, um die Portnummer der Anfrage zurückzugeben.
Httprequest.is_secure () Wenn die Anforderung mithilfe von HTTPS gestellt wird, kehrt sie ansonsten als wahr falsch zurück.
Httprequest.is_ajax () Wenn die Anfrage mit XMLHTTPREquest verwendet wird, kehrt sie ansonsten als wahr falsch zurück.
Httprequest.Build_absolute_uri (Standort) Es wird verwendet, um den absoluten URI -Standort zurückzugeben.
Httprequest.get_signed_cookie (Schlüssel, default = raise_error, salt = ”, max_age = keine) Es wird verwendet, um den Cookie -Wert für einen signierten Cookie zurückzugeben oder einen Django zu erhöhen.Kern.Unterzeichnung.Ausnahme der Badesignature für die ungültige Signatur.

Django httpresponse:

Httpresponse Die Klasse wird verwendet, um die Client -Antwort zu verarbeiten, die in der definiert ist Django.http Modul. Die Attribute dieser Klasse werden unten erwähnt.

HttPresponse -Attribute:

Attributname Zweck
Httpresponse.Statuscode Der HTTP -Statuscode der Antwort wird durch dieses Attribut zurückgegeben
Httpresponse.Charset Das Zeichensatz, das zur Codierung der Antwort verwendet wird, wird durch dieses Attribut definiert.
Httpresponse.Streaming Der Standardwert dieses Attributs ist falsch.
Httpresponse.Inhalt Der Inhalt wird durch dieses Attribut in Byte -Zeichenfolge dargestellt.
Httpresponse.Grund_Phrase Die HTTP -Vernunft -Phrase der Antwort wird durch dieses Attribut definiert.
Httpresponse.geschlossen Wenn die Antwort geschlossen ist, gibt dieses Attribut wahr zurück.

HttPresponse -Methoden:

Methode Beschreibung
Httpresponse.__drin__(content = ”, content_type = keine, status = 200, ecus = Keine, charset = none) Ein HTTPResponse -Objekt mit dem angegebenen Seiteninhalts- und Inhaltstyp wird nach dieser Methode initiiert.
Httpresponse.__GetItem__(Header) Der Wert des jeweiligen Headernamens wird nach dieser Methode zurückgegeben.
Httpresponse.__setItem__(Header, Wert) Der besondere Wert wird mit dieser Methode auf den jeweiligen Headernamen festgelegt.
Httpresponse.__delitem__(Header) Der bestimmte Header -Name wird nach dieser Methode gelöscht.
Httpresponse.setDefault(Header, Wert) Der Standard -Header -Wert wird nach dieser Methode festgelegt.
Httpresponse.Has_header(Header) Die Existenz des jeweiligen Headernamens wird nach dieser Methode überprüft.
Httpresponse.schreiben(Inhalt) Das Datei-ähnliche Antwortobjekt wird nach dieser Methode erstellt.
Httpresponse.Wert erhalten() Der Wert von httPesponse.Der Inhalt wird nach dieser Methode abgerufen.
Httpresponse.lesbar() Das Stream-ähnliche Objekt der HTTPResponse-Klasse wird nach dieser Methode erstellt.
Httpresponse.suchbar () Diese Methode wird verwendet, um das Antwortobjekt suchbar zu machen.
Httpresponse.erzählen() Diese Methode wird verwendet, um eine HTTPResponse-Instanz als Datei-ähnliches Objekt zu erstellen.
Httpresponse.spülen() Diese Methode wird verwendet, um das Antwortobjekt zu spülen.

Voraussetzungen:

Bevor Sie das Skript dieses Tutorials üben, müssen Sie die folgenden Aufgaben ausführen:

A. Installieren Sie die Django Version 3+ auf Ubuntu 20+ (vorzugsweise)
B. Erstellen Sie ein Django -Projekt
C. 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 zu erstellen Reqresapp.

$ python3 verwalten.py startApp reqresapp

B. Führen Sie den folgenden Befehl aus, um einen Benutzer zum Zugriff auf die Django -Datenbank zu erstellen. Wenn Sie den Benutzer zuvor gemacht haben, müssen Sie den Befehl nicht ausführen.

$ python3 verwalten.Py erzeugt

C. Fügen Sie den App -Namen in die hinzu Installed_app Teil der Einstellungen.Py Datei.

Installed_apps = [

'Reqresapp'
]

Ändern Sie die erforderlichen Dateien:

Ändern Sie die Ansichten.PY -Datei mit dem folgenden Skript. Der Index() Die Funktion des Skripts wird den Anforderungspfad, die Methode und den Benutzeragenten unter Verwendung von drei gelesen Httprequest Attribute. Als nächstes werden diese Werte durch Verwendung an den Browser gesendet Httpresponse () Methode.

Ansichten.py

# HtTresponse importieren
von django.http import httPesponse
# Funktion definieren, um Anforderungen und Antwort zu behandeln
Def Index (Anfrage):
Pfad = Anfrage.Weg
Methode = Anforderung.Methode
userAgent = Anfrage.Meta ['http_user_agent']
# Die Anfrage wird mithilfe des HTTPResponse -Objekts behandelt
Rückgabe httPesponse ("

Testen von Django Request Antwortzyklus


"
"

Anfragepfad: " + Pfad +
"

Anforderungsmethode: " + Methode +
"

Benutzeragent: " + Benutzeragent +"

"))

Ändern Sie die URLs.PY -Datei mit dem folgenden Skript zum Definieren des Pfades zum Aufrufen der Index() Funktion der Ansichten.py Datei.

URLs.py

# Pfad importieren
von django.URLS -Importweg
# Ansicht importieren
von reqresapp.Ansichten importieren Index
# Pfad definieren
urlpatterns = [
Pfad (", Index),
]

Führen Sie den folgenden Befehl aus, um den Django -Server zu starten.

$ python3 verwalten.Py Runserver

Führen Sie die folgende URL vom Browser aus, um die Ausgabe der App zu überprüfen.

http: // localhost: 8000

Die folgende Ausgabe zeigt die Werte von drei Httprequest -Attributen, die von httPesponse gesendet wurden.

Abschluss:

Wie in diesem Tutorial die verschiedenen Attribute und Methoden von Httprequest und HttPesponse in der Django -App verwendet werden können. Die Django -Benutzer können nach dem Lesen dieses Tutorials die Django -Anfrage- und Antwortobjekte verwenden.