Django HttpRequest-Klasse:
HTTP-Anfrage -Klasse wird verwendet, um die Client-Anfrage zu bearbeiten, die in der Django.http Modul. Die Attribute dieser Klasse sind unten aufgeführt.
HttpRequest-Attribute:
Attributname | Zweck |
---|---|
HTTP-Anfrage.Pfad | Der vollständige Pfad der angeforderten Seite wird von diesem Attribut zurückgegeben. Das Schema oder die Domäne ist nicht im zurückgegebenen Wert enthalten. |
HTTP-Anfrage.path_info | Der Pfadinformationsteil dieses Pfads wird durch dieses Attribut angezeigt. |
HTTP-Anfrage.Methode | Die für die Anfrage verwendete HTTP-Methode wird durch dieses Attribut angezeigt. |
HTTP-Anfrage.planen | Das Schema der Anfrage (HTTP oder HTTPs) wird durch dieses Attribut repräsentiert. |
HTTP-Anfrage.Körper | Der rohe HTTP-Request-Body wird von diesem Attribut als Byte-String zurückgegeben. |
HTTP-Anfrage.ERHALTEN | Alle HTTP-GET-Parameter werden von diesem Attribut als Dictionary-Objekt zurückgegeben. |
HTTP-Anfrage.POST | Alle HTTP-POST-Parameter werden von diesem Attribut als Dictionary-Objekt zurückgegeben. |
HTTP-Anfrage.KEKSE | Alle verfügbaren Cookies werden von diesem Attribut zurückgegeben. |
HTTP-Anfrage.DATEIEN | Alle hochgeladenen Dateien sind in diesem Attribut enthalten. |
HTTP-Anfrage.META | Alle verfügbaren HTTP-Header werden durch dieses Attribut angezeigt. |
HTTP-Anfrage.Inhaltstyp | Der MIME-Typ der Anfrage, die aus dem CONTENT_TYPE-Header geparst wird, wird durch dieses Attribut angezeigt. |
HTTP-Anfrage.content_params | Ein Dictionary-Objekt, das im CONTENT_TYPE-Header enthalten ist, wird von diesem Attribut zurückgegeben. |
HTTP-Anfrage.Codierung | Die verwendete aktuelle Kodierung zum Dekodieren der übermittelten Formulardaten wird durch dieses Attribut angezeigt. |
HttpRequest-Methoden:
Methode | Zweck |
---|---|
HTTP-Anfrage.get_host() | Es wird verwendet, um den tatsächlichen Hostnamen der Anfrage zurückzugeben. |
HTTP-Anfrage.get_full_path() | Es wird verwendet, um den Pfad und die Abfragezeichenfolge zurückzugeben, falls verfügbar. |
HTTP-Anfrage.get_port() | Es wird verwendet, um die Portnummer der Anfrage zurückzugeben. |
HTTP-Anfrage.is_secure() | Wenn die Anfrage über HTTPS erfolgt, wird sie als True zurückgegeben, andernfalls als False. |
HTTP-Anfrage.is_ajax() | Wenn die Anfrage mit XMLHttpRequest erfolgt, wird als True zurückgegeben, andernfalls als False. |
HTTP-Anfrage.build_absolute_uri (Lage) | Es wird verwendet, um den absoluten URI-Speicherort zurückzugeben. |
HTTP-Anfrage.get_signed_cookie (key, default=RAISE_ERROR, salt=“, max_age=None) | Es wird verwendet, um den Cookie-Wert für ein signiertes Cookie zurückzugeben oder einen Django auszulösen.Ader.Unterzeichnung.BadSignature-Ausnahme für die ungültige Signatur. |
Django HttpAntwort:
HttpResponse -Klasse wird verwendet, um die Client-Antwort zu behandeln, die in der Django.http Modul. Die Attribute dieser Klasse sind unten aufgeführt.
HttpResponse-Attribute:
Attributname | Zweck |
---|---|
HttpResponse.Statuscode | HTTP-Statuscode der Antwort wird von diesem Attribut zurückgegeben returned |
HttpResponse.Zeichensatz | Der Zeichensatz, der zum Kodieren der Antwort verwendet wird, wird durch dieses Attribut definiert. |
HttpResponse.Streaming | Der Standardwert dieses Attributs ist False. |
HttpResponse.Inhalt | Der Inhalt wird durch dieses Attribut in Byte-String dargestellt. |
HttpResponse.grund_phrase | Die HTTP-Ursachenphrase der Antwort wird durch dieses Attribut definiert. |
HttpResponse.geschlossen | Wenn die Antwort geschlossen ist, gibt dieses Attribut True zurück. |
HttpResponse-Methoden:
Methode | Beschreibung |
---|---|
HttpResponse.__drin__(content=“, content_type=None, status=200, Reason=None, charset=None) | Ein HttpResponse-Objekt mit dem angegebenen Seiteninhalt und Inhaltstyp wird durch diese Methode initiiert. |
HttpResponse.__getitem__(Header) | Der Wert des jeweiligen Header-Namens wird von dieser Methode zurückgegeben. |
HttpResponse.__setitem__(Kopfzeile, Wert) | Der jeweilige Wert wird durch diese Methode auf den jeweiligen Header-Namen gesetzt. |
HttpResponse.__Nachteil__(Header) | Der jeweilige Header-Name wird durch diese Methode gelöscht. |
HttpResponse.Standardeinstellung(Kopfzeile, Wert) | Der Standardheaderwert wird durch diese Methode festgelegt. |
HttpResponse.has_header(Header) | Die Existenz des jeweiligen Header-Namens wird mit dieser Methode überprüft. |
HttpResponse.schreiben(Inhalt) | Das dateiähnliche Antwortobjekt wird mit dieser Methode erstellt. |
HttpResponse.Wert erhalten() | Der Wert von HttpResponse.Inhalt wird mit dieser Methode abgerufen. |
HttpResponse.lesbar() | Das streamähnliche Objekt der HttpResponse-Klasse wird mit dieser Methode erstellt. |
HttpResponse.suchbar() | Diese Methode wird verwendet, um das Antwortobjekt suchfähig zu machen. |
HttpResponse.sagen() | 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 leeren. |
Voraussetzungen:
Bevor Sie das Skript dieses Tutorials üben, müssen Sie die folgenden Aufgaben ausführen:
EIN. 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:
EIN. Führen Sie den folgenden Befehl aus, um eine Django-App namens zu erstellen reqresapp.
$ python3 verwalten.py startapp reqresappB. Führen Sie den folgenden Befehl aus, um einen Benutzer für den Zugriff auf die Django-Datenbank zu erstellen. Wenn Sie den Benutzer zuvor erstellt haben, müssen Sie den Befehl nicht ausführen.
$ python3 verwalten.py erstelltsuperuserC. Fügen Sie den App-Namen im . hinzu INSTALLED_APP Teil von dem die Einstellungen.py Datei.
INSTALLED_APPS = […
'reqresapp'
]
Ändern Sie die erforderlichen Dateien:
Ändern Sie die Ansichten.py-Datei mit dem folgenden Skript. Das Index() Die Funktion des Skripts liest den Anforderungspfad, die Methode und den Benutzeragenten mithilfe von drei HTTP-Anfrage Attribute. Als nächstes werden diese Werte mit an den Browser gesendet HttpResponse() Methode.
Ansichten.py
# HttResponse importierenvon django.HTTP-Import HttpResponse
# Funktion definieren, um Anfrage und Antwort zu verarbeiten
def-Index (Anfrage):
Pfad = Anfrage.Pfad
Methode = Anfrage.Methode
userAgent = Anfrage.META['HTTP_USER_AGENT']
# Anfrage wird über das HttpResponse-Objekt bearbeitet
return HttpResponse("
Testen des Django-Request-Response-Zyklus
"
"
Pfad anfordern : " + Pfad +
"
"
Benutzeragent : " + Benutzeragent + "
Ändern Sie die URLs.py-Datei mit dem folgenden Skript zum Definieren des Pfads zum Aufrufen der Index() Funktion der Ansichten.py Datei.
URLs.py
# Importpfadvon django.URL-Importpfad
# Ansicht importieren
von reqresapp.Ansichten Importindex
# Pfad definieren
URLmuster = [
Pfad(", Index),
]
Führen Sie den folgenden Befehl aus, um den Django-Server zu starten.
$ python3 verwalten.py-RunserverFühren Sie die folgende URL im 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 HttpResponse gesendet werden.
Fazit:
Wie die verschiedenen Attribute und Methoden von HttpRequest und HttpResponse in der Django-App verwendet werden können, zeigt dieses Tutorial. Die Django-Benutzer können die Django-Anforderungs- und Antwortobjekte verwenden, nachdem sie dieses Tutorial gelesen haben.