Django HttpRequest-klasse:
HttpRequest class wordt gebruikt om het clientverzoek af te handelen dat is gedefinieerd in de django.http module. De attributen van deze klasse worden hieronder vermeld:.
HttpRequest-kenmerken:
attribuut naam | Doel |
---|---|
HttpRequest.pad | Het volledige pad van de opgevraagde pagina wordt geretourneerd door dit kenmerk. Het schema of domein is niet opgenomen in de geretourneerde waarde. |
HttpRequest.path_info | Het padinformatiegedeelte van dit pad wordt weergegeven door dit attribuut. |
HttpRequest.methode | De HTTP-methode die voor het verzoek wordt gebruikt, wordt weergegeven door dit kenmerk:. |
HttpRequest.schema | Het schema van de aanvraag (HTTP of HTTPs) wordt weergegeven door dit attribuut. |
HttpRequest.lichaam | Het onbewerkte HTTP-verzoeklichaam wordt geretourneerd als een bytetekenreeks door dit kenmerk. |
HttpRequest.KRIJGEN | Alle HTTP GET-parameters worden door dit kenmerk geretourneerd als een woordenboekobject. |
HttpRequest.POST | Alle HTTP POST-parameters worden door dit kenmerk geretourneerd als een woordenboekobject. |
HttpRequest.COOKIES | Alle beschikbare cookies worden geretourneerd door dit kenmerk. |
HttpRequest.BESTANDEN | Alle geüploade bestanden vallen onder dit kenmerk. |
HttpRequest.META | Alle beschikbare HTTP-headers worden weergegeven met dit kenmerk. |
HttpRequest.content_type | Het MIME-type van het verzoek dat is geparseerd uit de CONTENT_TYPE-header wordt weergegeven door dit kenmerk. |
HttpRequest.content_params | Een woordenboekobject dat is opgenomen in de CONTENT_TYPE-header wordt geretourneerd door dit kenmerk. |
HttpRequest.codering | De gebruikte huidige codering om de ingediende formuliergegevens te decoderen, wordt weergegeven door dit kenmerk:. |
HttpRequest-methoden:
Methode | Doel |
---|---|
HttpRequest.get_host() | Het wordt gebruikt om de werkelijke hostnaam van het verzoek terug te geven. |
HttpRequest.get_full_path() | Het wordt gebruikt om het pad en de queryreeks te retourneren, indien beschikbaar. |
HttpRequest.get_port() | Het wordt gebruikt om het poortnummer van het verzoek te retourneren. |
HttpRequest.is_secure() | Als het verzoek wordt gedaan met behulp van HTTPS, wordt het geretourneerd als True, anders False. |
HttpRequest.is_ajax() | Als het verzoek wordt gedaan met behulp van XMLHttpRequest, wordt het geretourneerd als True, anders False. |
HttpRequest.build_absolute_uri (plaats) | Het wordt gebruikt om de absolute URI-locatie terug te geven. |
HttpRequest.get_signed_cookie (sleutel, standaard=RAISE_ERROR, salt=”, max_age=Geen) | Het wordt gebruikt om de cookiewaarde voor een ondertekende cookie terug te geven of om een django te genereren.kern.signeren.BadSignature-uitzondering voor de ongeldige handtekening. |
Django HttpReactie:
HttpReactie class wordt gebruikt om de clientreactie af te handelen die is gedefinieerd in de django.http module. De attributen van deze klasse worden hieronder vermeld:.
HttpResponse-kenmerken:
attribuut naam | Doel |
---|---|
HttpReactie.status code | HTTP-statuscode van het antwoord wordt geretourneerd door dit kenmerk |
HttpReactie.tekenset | De char-set die wordt gebruikt om het antwoord te coderen wordt gedefinieerd door dit attribuut. |
HttpReactie.streamen | De standaardwaarde van dit kenmerk is False. |
HttpReactie.inhoud | De inhoud wordt door dit attribuut in bytetekenreeks weergegeven:. |
HttpReactie.reden_zin | De HTTP-redenzin van het antwoord wordt gedefinieerd door dit kenmerk. |
HttpReactie.Gesloten | Wanneer het antwoord is gesloten, retourneert dit kenmerk True. |
HttpResponse-methoden:
Methode | Omschrijving |
---|---|
HttpReactie.__in het__(content=”, content_type=Geen, status=200, reden=Geen, charset=Geen) | Een HttpResponse-object met de opgegeven pagina-inhoud en inhoudstype wordt door deze methode geïnitieerd. |
HttpReactie.__getitem__(kop) | De waarde van de specifieke headernaam wordt geretourneerd door deze methode. |
HttpReactie.__setitem__(kop, waarde) | De specifieke waarde wordt met deze methode ingesteld op de specifieke headernaam name. |
HttpReactie.__delitem__(kop) | De specifieke headernaam wordt op deze manier verwijderd. |
HttpReactie.standaard instellen(kop, waarde) | De standaard header-waarde wordt met deze methode ingesteld:. |
HttpReactie.has_header(kop) | Het bestaan van de specifieke headernaam wordt met deze methode gecontroleerd. |
HttpReactie.schrijven(inhoud) | Het bestandsachtige responsobject wordt met deze methode gemaakt. |
HttpReactie.haalwaarde() | De waarde van HttpResponse.inhoud wordt op deze manier opgehaald. |
HttpReactie.leesbaar() | Het stream-achtige object van de HttpResponse-klasse wordt met deze methode gemaakt:. |
HttpReactie.zoekbaar() | Deze methode wordt gebruikt om het responsobject zoekbaar te maken. |
HttpReactie.vertellen() | Deze methode wordt gebruikt om een HttpResponse-instantie te maken als een bestandsachtig object. |
HttpReactie.spoelen() | Deze methode wordt gebruikt om het antwoordobject te wissen. |
Vereisten:
Voordat u het script van deze zelfstudie oefent, moet u de volgende taken uitvoeren:
EEN. Installeer de Django versie 3+ op Ubuntu 20+ (bij voorkeur)
B. Een Django-project maken
C. Voer de Django-server uit om te controleren of de server goed werkt of niet.
Stel een Django-app in:
EEN. Voer de volgende opdracht uit om een Django-app met de naam te maken reqresapp.
$ python3 beheren.py startapp vereist appB. Voer de volgende opdracht uit om een gebruiker aan te maken voor toegang tot de Django-database:. Als je de gebruiker eerder hebt gemaakt, hoef je de opdracht niet uit te voeren.
$ python3 beheren.py createsuperuserC. Voeg de app-naam toe aan de INSTALLED_APP deel van de instellingen.py bestand.
INSTALLED_APPS = […
'reqresapp'
]
Wijzig de benodigde bestanden:
Wijzig de weergaven.py-bestand met het volgende script. De inhoudsopgave() functie van het script zal het verzoekpad, de methode en de user-agent lezen met behulp van drie HttpRequest attributen. Vervolgens worden deze waarden naar de browser verzonden met behulp van HttpResponse() methode.
keer bekeken.py
# Importeer HttResponsevan django.http import HttpResponse
# Definieer functie om verzoek en reactie af te handelen
def index(verzoek):
pad = verzoek.pad
methode = verzoek.methode
userAgent = aanvraag.META['HTTP_USER_AGENT']
# verzoek wordt afgehandeld met behulp van HttpResponse-object
return HttpResponse("
Django-verzoekreactiecyclus testen
"
"
Verzoek pad : " + pad +
"
"
Gebruikersagent: " + userAgent + "
Pas de URL's aan.py-bestand met het volgende script voor het definiëren van het pad om de . aan te roepen inhoudsopgave() functie van de keer bekeken.py het dossier.
URL's.py
# Importpadvan django.URL-importpad
# Weergave importeren
van reqresapp.weergaven importindex
# Definieer pad
urlpatronen = [
pad(", index),
]
Voer de volgende opdracht uit om de Django-server te starten:.
$ python3 beheren.py runserverVoer de volgende URL uit vanuit de browser om de uitvoer van de app te controleren.
http://localhost:8000
De volgende uitvoer toont de waarden van drie HttpRequest-kenmerken die zijn verzonden door HttpResponse.
Conclusie:
Hoe de verschillende attributen en methodes van HttpRequest en HttpResponse gebruikt kunnen worden in de Django app wordt getoond in deze tutorial. De Django-gebruikers kunnen de Django-verzoek- en responsobjecten gebruiken na het lezen van deze tutorial.