Utilisation d'objets de demande et de réponse Django

Utilisation d'objets de demande et de réponse Django
Le cycle de demande-réponse est utilisé pour transférer les données entre le client et le serveur dans tous les types d'API Web. L'architecture client-serveur est utilisée dans le framework Django pour implémenter l'application Web. La demande et la réponse sont les deux composantes principales de l'application client-serveur. Un Httprequest L'objet est créé dans l'application Django lorsqu'un client demande une ressource. Une fonction de vue particulière est utilisée pour gérer la demande et envoyer la réponse à l'aide du HttpResponse objet. Les utilisations de différents attributs et méthodes de Httprequest et HttpResponse Les classes du cadre Django seront expliquées dans ce tutoriel.

Classe Django HttpRequest:

Httprequest La classe est utilisée pour gérer la demande du client définie dans le django.http module. Les attributs de cette classe sont mentionnés ci-dessous.

Attributs HttpRequest:

Nom d'attribut But
Httprequest.chemin Le chemin complet de la page demandée est renvoyé par cet attribut. Le schéma ou le domaine n'est pas inclus dans la valeur renvoyée.
Httprequest.path_info La partie d'informations de chemin de ce chemin est montrée par cet attribut.
Httprequest.méthode La méthode HTTP utilisée pour la demande est affichée par cet attribut.
Httprequest.schème Le schéma de la demande (HTTP ou HTTPS) est représenté par cet attribut.
Httprequest.corps Le corps de demande HTTP brut est renvoyé sous forme de chaîne d'octet par cet attribut.
Httprequest.OBTENIR Tous les paramètres HTTP Get sont renvoyés par cet attribut en tant qu'objet de dictionnaire.
Httprequest.POSTE Tous les paramètres de post HTTP sont renvoyés par cet attribut en tant qu'objet de dictionnaire.
Httprequest.BISCUITS Tous les cookies disponibles sont retournés par cet attribut.
Httprequest.DES DOSSIERS Tous les fichiers téléchargés sont contenus par cet attribut.
Httprequest.Méta Tous les en-têtes HTTP disponibles sont affichés par cet attribut.
Httprequest.contenu_type Le type MIME de la demande qui est analysé de l'en-tête Content_Type est montré par cet attribut.
Httprequest.contenu_params Un objet de dictionnaire inclus dans l'en-tête contenu_type est renvoyé par cet attribut.
Httprequest.codage Le codage actuel utilisé pour décoder les données de formulaire soumises est affichée par cet attribut.

Méthodes HttpRequest:

Méthode But
Httprequest.get_host () Il est utilisé pour retourner le nom d'hôte réel de la demande.
Httprequest.get_full_path () Il est utilisé pour retourner le chemin et la chaîne de requête si disponible.
Httprequest.get_port () Il est utilisé pour renvoyer le numéro de port de la demande.
Httprequest.is_secure () Si la demande est faite en utilisant HTTPS, alors elle revient comme vraie autrement fausse.
Httprequest.is_ajax () Si la demande est faite en utilisant XMLHttpRequequest, alors elle revient comme vrai autrement fausse.
Httprequest.build_absolute_uri (emplacement) Il est utilisé pour retourner l'emplacement de l'URI absolu.
Httprequest.get_signed_cookie (Key, default = relevorror, sel = ”, max_age = aucun) Il est utilisé pour retourner la valeur des cookies pour un cookie signé ou soulève un django.cœur.signature.Exception de méchanceté pour la signature non valide.

Django httpresponse:

HttpResponse La classe est utilisée pour gérer la réponse du client définie dans le django.http module. Les attributs de cette classe sont mentionnés ci-dessous.

Attributs HttpResponse:

Nom d'attribut But
HttpResponse.status_code Le code d'état HTTP de la réponse est renvoyé par cet attribut
HttpResponse.charbon Le co-ensemble utilisé pour coder la réponse est défini par cet attribut.
HttpResponse.streaming La valeur par défaut de cet attribut est fausse.
HttpResponse.contenu Le contenu est représenté dans la chaîne d'octet par cet attribut.
HttpResponse.Raison_phrase La phrase de raison HTTP de la réponse est définie par cet attribut.
HttpResponse.fermé Lorsque la réponse est fermée, cet attribut renverra vrai.

Méthodes HTTPResponse:

Méthode Description
HttpResponse.__init__(contenu = ”, content_type = aucun, status = 200, raison = aucun, charse = aucun) Un objet HTTPResponse avec le contenu et le type de contenu de la page donnés sont lancés par cette méthode.
HttpResponse.__obtenir l'article__(entête) La valeur du nom d'en-tête particulier est renvoyée par cette méthode.
HttpResponse.__setItem__(En-tête, valeur) La valeur particulière est définie sur le nom d'en-tête particulier par cette méthode.
HttpResponse.__delitem__(entête) Le nom d'en-tête particulier est supprimé par cette méthode.
HttpResponse.définir par defaut(En-tête, valeur) La valeur d'en-tête par défaut est définie par cette méthode.
HttpResponse.has_header(entête) L'existence du nom d'en-tête particulier est vérifiée par cette méthode.
HttpResponse.écrire(contenu) L'objet de réponse de type fichier est créé par cette méthode.
HttpResponse.getValue () La valeur de HttpResponse.Le contenu est récupéré par cette méthode.
HttpResponse.lisible() L'objet de flux de la classe HttpResponse est créé par cette méthode.
HttpResponse.Seekable () Cette méthode est utilisée pour rendre l'objet de réponse à la recherche.
HttpResponse.dire() Cette méthode est utilisée pour créer une instance HTTPResponse en tant qu'objet de type fichier.
HttpResponse.affleurer() Cette méthode est utilisée pour rincer l'objet de réponse.

Conditions préalables:

Avant de pratiquer le script de ce tutoriel, vous devez effectuer les tâches suivantes:

UN. Installez la version 3+ de Django sur Ubuntu 20+ (de préférence)
B. Créer un projet Django
C. Exécutez le serveur Django pour vérifier que le serveur fonctionne correctement ou non.

Configurer une application Django:

UN. Exécutez la commande suivante pour créer une application django nommée reqresapp.

$ python3 gérer.py startapp reqresapp

B. Exécutez la commande suivante pour créer un utilisateur pour accéder à la base de données Django. Si vous avez fait l'utilisateur avant cela, vous n'avez pas besoin d'exécuter la commande.

$ python3 gérer.py créeuperuser

C. Ajouter le nom de l'application dans le Installé_app partie de la paramètres.pfichier y.

Installé_apps = [

'reqresapp'
]]

Modifiez les fichiers nécessaires:

Modifier les vues.fichier py avec le script suivant. Le indice() La fonction du script lira le chemin de demande, la méthode et l'agent utilisateur en utilisant trois Httprequest les attributs. Ensuite, ces valeurs seront envoyées au navigateur en utilisant HttpResponse () méthode.

vues.py

# Importer HttResponse
De Django.HTTP Import httpResponse
# Définir la fonction pour gérer la demande et la réponse
index def (demande):
chemin = demande.chemin
Méthode = demande.méthode
UserAgent = demande.Meta ['http_user_agent']
# La demande est traitée à l'aide de l'objet httpResponse
retourner httpResponse ("

Tester le cycle de réponse de la demande de Django


"
"

Chemin de demande: "+ chemin +
"

Méthode de demande: "+ Méthode +
"

Agent utilisateur: "+ UserAgent +"

")

Modifier les URL.fichier py avec le script suivant pour définir le chemin d'accès à l'appel le indice() fonction du vues.py déposer.

URL.py

# Chemin d'importation
De Django.Chemin d'importation des URL
# Affichage d'importation
de reqresapp.Indice d'importation des vues
# Définir le chemin
urlpatterns = [
chemin (", index),
]]

Exécutez la commande suivante pour démarrer le serveur Django.

$ python3 gérer.Py Runserver

Exécutez l'URL suivante à partir du navigateur pour vérifier la sortie de l'application.

http: // localhost: 8000

La sortie suivante montre les valeurs de trois attributs HttpRequest envoyés par HttpResponse.

Conclusion:

Comment les différents attributs et méthodes de HttpRequest et HttpResponse peuvent être utilisés dans l'application Django sont présentés dans ce tutoriel. Les utilisateurs de Django pourront utiliser les objets de demande et de réponse Django après avoir lu ce tutoriel.