Django

Utilizzo di oggetti di richiesta e risposta Django

Utilizzo di oggetti di richiesta e risposta Django
Il ciclo richiesta-risposta viene utilizzato per trasferire i dati tra client e server in tutti i tipi di API web. L'architettura client-server viene utilizzata nel framework Django per implementare l'applicazione web. La richiesta e la risposta sono i due componenti principali dell'applicazione client-server. Un HttpRequest l'oggetto viene creato nell'applicazione Django quando un client richiede qualsiasi risorsa. Una particolare funzione di visualizzazione viene utilizzata per gestire la richiesta e inviare la risposta utilizzando il Risposta HTTP oggetto. Gli usi di diversi attributi e metodi di HttpRequest e Risposta HTTP le classi del framework Django verranno spiegate in questo tutorial.

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 reqresapp

B. 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 createsuperuser

C. 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 Htt
da 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 +
"

Metodo di richiesta: " + metodo +
"

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 percorso
da 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 runserver

Esegui 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.

Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...
Tutorial Unity3D
Introduzione a Unity 3D Unity 3D è un potente motore di sviluppo di giochi. È multipiattaforma cioè ti permette di creare giochi per mobile, web, desk...