Django HttpRequest Class:
HttpRequest viene utilizzata per gestire la richiesta del client definita nel in django.http modulo. Gli attributi di questa classe sono menzionati di seguito.
Attributi HttpRequest:
nome attributo | Scopo |
---|---|
HttpRequest.sentiero | Il percorso completo della pagina richiesta viene restituito da questo attributo. Lo schema o il dominio non è incluso nel valore restituito. |
HttpRequest.percorso_info | La parte delle informazioni sul percorso di questo percorso è mostrata da questo attributo. |
HttpRequest.metodo | Il metodo HTTP utilizzato per la richiesta è mostrato da questo attributo. |
HttpRequest.schema | Lo schema della richiesta (HTTP o HTTPs) è rappresentato da questo attributo. |
HttpRequest.corpo | Il corpo della richiesta HTTP non elaborato viene restituito come stringa di byte da questo attributo. |
HttpRequest.OTTENERE | Tutti i parametri HTTP GET vengono restituiti da questo attributo come oggetto dizionario. |
HttpRequest.INVIARE | Tutti i parametri HTTP POST vengono restituiti da questo attributo come oggetto dizionario. |
HttpRequest.BISCOTTI | Tutti i cookie disponibili vengono restituiti da questo attributo. |
HttpRequest.FILE | Tutti i file caricati sono contenuti da questo attributo. |
HttpRequest.MET | Tutte le intestazioni HTTP disponibili sono mostrate da questo attributo. |
HttpRequest.tipo di contenuto | Il tipo MIME della richiesta che viene analizzata dall'intestazione CONTENT_TYPE è mostrato da questo attributo. |
HttpRequest.content_params | Un oggetto dizionario incluso nell'intestazione CONTENT_TYPE viene restituito da questo attributo. |
HttpRequest.codifica | La codifica corrente utilizzata per decodificare i dati del modulo inviato è mostrata da questo attributo. |
Metodi di richiesta HTTP:
Metodo | Scopo |
---|---|
HttpRequest.get_host() | Viene utilizzato per restituire il nome host effettivo della richiesta. |
HttpRequest.get_full_path() | Viene utilizzato per restituire il percorso e la stringa di query se disponibile. |
HttpRequest.get_port() | Viene utilizzato per restituire il numero di porta della richiesta. |
HttpRequest.è_sicuro() | Se la richiesta viene effettuata utilizzando HTTPS, restituisce True altrimenti False. |
HttpRequest.is_ajax() | Se la richiesta viene effettuata utilizzando XMLHttpRequest, restituisce True altrimenti False. |
HttpRequest.build_absolute_uri (Posizione) | Viene utilizzato per restituire la posizione URI assoluta. |
HttpRequest.get_signed_cookie (chiave, default=RAISE_ERROR, salt=”, max_age=Nessuno) | Viene utilizzato per restituire il valore del cookie per un cookie firmato o genera un django.nucleo.firma.Eccezione BadSignature per la firma non valida. |
Django Http Risposta:
Risposta HTTP viene utilizzata per gestire la risposta del client definita nel that django.http modulo. Gli attributi di questa classe sono menzionati di seguito.
Attributi HttpResponse:
nome attributo | Scopo |
---|---|
Risposta HTTP.status_code | Il codice di stato HTTP della risposta viene restituito da questo attributo |
Risposta HTTP.set di caratteri | Il set di caratteri utilizzato per codificare la risposta è definito da questo attributo. |
Risposta HTTP.streaming | Il valore predefinito di questo attributo è False. |
Risposta HTTP.soddisfare | Il contenuto è rappresentato in stringa di byte da questo attributo. |
Risposta HTTP.reason_phrase | La frase di motivazione HTTP della risposta è definita da questo attributo. |
Risposta HTTP.Chiuso | Quando la risposta è chiusa, questo attributo restituirà True. |
Metodi di risposta HTTP:
Metodo | Descrizione |
---|---|
Risposta HTTP.__dentro__(content=”, content_type=None, status=200, reason=Nessuno, charset=Nessuno) | Un oggetto HttpResponse con il contenuto della pagina e il tipo di contenuto specificati viene avviato da questo metodo. |
Risposta HTTP.__getitem__(intestazione) | Il valore del particolare nome dell'intestazione viene restituito da questo metodo. |
Risposta HTTP.__setitem__(intestazione, valore) | Il valore particolare è impostato sul nome dell'intestazione particolare con questo metodo. |
Risposta HTTP.__elimina__(intestazione) | Il particolare nome dell'intestazione viene eliminato con questo metodo. |
Risposta HTTP.imposta default(intestazione, valore) | Il valore dell'intestazione predefinito è impostato da questo metodo. |
Risposta HTTP.has_header(intestazione) | L'esistenza del particolare nome dell'intestazione viene verificata con questo metodo. |
Risposta HTTP.Scrivi(soddisfare) | L'oggetto di risposta simile a un file viene creato con questo metodo. |
Risposta HTTP.ottieni valore() | Il valore di HttpResponse.il contenuto viene recuperato con questo metodo. |
Risposta HTTP.leggibile() | L'oggetto simile al flusso della classe HttpResponse viene creato da questo metodo. |
Risposta HTTP.ricercabile() | Questo metodo viene utilizzato per rendere ricercabile l'oggetto risposta. |
Risposta HTTP.raccontare() | Questo metodo viene utilizzato per creare un'istanza di HttpResponse come oggetto simile a un file. |
Risposta HTTP.sciacquone() | Questo metodo viene utilizzato per svuotare l'oggetto risposta. |
Prerequisiti:
Prima di esercitarti con lo script di questo tutorial, devi completare le seguenti attività:
UN. Installa la versione Django 3+ su Ubuntu 20+ (preferibilmente)
B. Crea un progetto Django
C. Esegui il server Django per verificare che il server funzioni correttamente o meno.
Configura un'app Django:
UN. Esegui il seguente comando per creare un'app Django denominata reqresapp.
$ python3 gestire.py startapp reqresappB. Esegui il seguente comando per creare un utente per l'accesso al database Django. Se hai creato l'utente prima di allora, non è necessario eseguire il comando.
$ python3 gestire.py createsuperuserC. Aggiungi il nome dell'app in INSTALLATA_APP parte di impostazioni.py file.
INSTALLATE_APPS = […
'reqresapp'
]
Modifica i file necessari:
Modifica le visualizzazioni.py con il seguente script. Il indice() funzione dello script leggerà il percorso della richiesta, il metodo e l'agente utente utilizzando tre HttpRequest attributi. Successivamente, questi valori verranno inviati al browser utilizzando Risposta HTTP() metodo.
visualizzazioni.pi
# Importa risposta Httda django.http import HttpResponse
# Definire la funzione per gestire la richiesta e la risposta
def indice (richiesta):
percorso = richiesta.sentiero
metodo = richiesta.metodo
userAgent = richiesta.META['HTTP_USER_AGENT']
# la richiesta viene gestita utilizzando l'oggetto HttpResponse
return HttpResponse("
Test del ciclo di risposta alla richiesta Django
"
"
Percorso richiesta: " + percorso +
"
"
Agente utente: " + agente utente + "
Modifica gli URL.py con il seguente script per definire il percorso per chiamare il indice() funzione di visualizzazioni.pi file.
URL.pi
# Importa percorsoda django.percorso di importazione degli URL
# Importa vista
da reqresapp.indice di importazione delle viste
# Definisci percorso
patternurl = [
percorso(", indice),
]
Esegui il seguente comando per avviare il server Django.
$ python3 gestire.py runserverEsegui il seguente URL dal browser per controllare l'output dell'app.
http://localhost:8000
Il seguente output mostra i valori di tre attributi HttpRequest inviati da HttpResponse.
Conclusione:
In questo tutorial viene mostrato come è possibile utilizzare i diversi attributi e metodi di HttpRequest e HttpResponse nell'app Django. Gli utenti di Django saranno in grado di utilizzare gli oggetti di richiesta e risposta Django dopo aver letto questo tutorial.