Django

Utilisation des objets de requête et de réponse Django

Utilisation des objets de requête et de réponse Django
Le cycle 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 requête et la réponse sont les deux composants principaux de l'application client-serveur. Un HttpRequête l'objet est créé dans l'application Django lorsqu'un client demande une ressource. Une fonction de vue particulière est utilisée pour traiter la demande et envoyer la réponse en utilisant le Réponse HTTP objet. L'utilisation de différents attributs et méthodes de HttpRequête et Réponse HTTP les classes du framework Django seront expliquées dans ce tutoriel.

Classe Django HttpRequest :

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

Attributs de requête HTTP :

Nom d'attribut Objectif
HttpRequête.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.
HttpRequête.path_info La partie info du chemin de ce chemin est indiquée par cet attribut.
HttpRequête.méthode La méthode HTTP utilisée pour la requête est indiquée par cet attribut.
HttpRequête.schème Le schéma de la requête (HTTP ou HTTPs) est représenté par cet attribut.
HttpRequête.corps Le corps brut de la requête HTTP est renvoyé sous forme de chaîne d'octets par cet attribut.
HttpRequête.OBTENIR Tous les paramètres HTTP GET sont renvoyés par cet attribut en tant qu'objet dictionnaire.
HttpRequête.PUBLIER Tous les paramètres HTTP POST sont renvoyés par cet attribut en tant qu'objet dictionnaire.
HttpRequête.BISCUITS Tous les cookies disponibles sont renvoyés par cet attribut.
HttpRequête.DES DOSSIERS Tous les fichiers téléchargés sont contenus par cet attribut.
HttpRequête.META Tous les en-têtes HTTP disponibles sont affichés par cet attribut.
HttpRequête.content_type Le type MIME de la requête analysée à partir de l'en-tête CONTENT_TYPE est affiché par cet attribut.
HttpRequête.content_params Un objet dictionnaire inclus dans l'en-tête CONTENT_TYPE est renvoyé par cet attribut.
HttpRequête.codage L'encodage actuel utilisé pour décoder les données du formulaire soumis est indiqué par cet attribut.

Méthodes HTTPRequest :

Méthode Objectif
HttpRequête.get_host() Il est utilisé pour renvoyer le nom d'hôte réel de la demande.
HttpRequête.get_full_path() Il est utilisé pour retourner le chemin et la chaîne de requête si disponible.
HttpRequête.get_port() Il est utilisé pour retourner le numéro de port de la requête.
HttpRequête.is_secure() Si la demande est faite en utilisant HTTPS, alors elle renvoie True sinon False.
HttpRequête.is_ajax() Si la demande est faite à l'aide de XMLHttpRequest, elle renvoie True sinon False.
HttpRequête.build_absolute_uri (emplacement) Il est utilisé pour renvoyer l'emplacement absolu de l'URI.
HttpRequête.get_signed_cookie (clé, par défaut=RAISE_ERROR, salt=", max_age=Aucun) Il est utilisé pour renvoyer la valeur du cookie pour un cookie signé ou lève un django.cœur.signature.Exception BadSignature pour la signature invalide.

Django HttpRéponse :

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

Attributs HttpResponse :

Nom d'attribut Objectif
Réponse HTTP.code_état Le code d'état HTTP de la réponse est renvoyé par cet attribut
Réponse HTTP.jeu de caractères Le jeu de caractères utilisé pour coder la réponse est défini par cet attribut.
Réponse HTTP.Diffusion La valeur par défaut de cet attribut est False.
Réponse HTTP.contenu Le contenu est représenté en chaîne d'octets par cet attribut.
Réponse HTTP.phrase_raison La phrase de raison HTTP de la réponse est définie par cet attribut.
Réponse HTTP.fermé Lorsque la réponse est fermée, cet attribut retournera True.

Méthodes HttpResponse :

Méthode La description
Réponse HTTP.__init__(content=", content_type=None, status=200, Reason=None, charset=None) Un objet HttpResponse avec le contenu de la page et le type de contenu donnés sont initiés par cette méthode.
Réponse HTTP.__obtenir l'article__(entête) La valeur du nom d'en-tête particulier est renvoyée par cette méthode.
Réponse HTTP.__setitem__(en-tête, valeur) La valeur particulière est définie sur le nom d'en-tête particulier par cette méthode.
Réponse HTTP.__delitem__(entête) Le nom d'en-tête particulier est supprimé par cette méthode.
Réponse HTTP.définir par defaut(en-tête, valeur) La valeur d'en-tête par défaut est définie par cette méthode.
Réponse HTTP.has_header(entête) L'existence du nom d'en-tête particulier est vérifiée par cette méthode.
Réponse HTTP.écrivez(contenu) L'objet de réponse de type fichier est créé par cette méthode.
Réponse HTTP.obtenirvaleur() La valeur de HttpResponse.le contenu est récupéré par cette méthode.
Réponse HTTP.lisible() L'objet de type flux de la classe HttpResponse est créé par cette méthode.
Réponse HTTP.recherchable() Cette méthode est utilisée pour rendre l'objet de réponse consultable.
Réponse HTTP.raconter() Cette méthode est utilisée pour créer une instance HttpResponse en tant qu'objet de type fichier.
Réponse HTTP.affleurer() Cette méthode est utilisée pour vider l'objet de réponse.

Conditions préalables:

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

UNE. Installez la version Django 3+ 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 :

UNE. 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 déjà créé l'utilisateur, vous n'avez pas besoin d'exécuter la commande.

$ python3 gérer.py createsuperuser

C. Ajoutez le nom de l'application dans le INSTALLED_APP partie de la Les paramètres.py fichier.

INSTALLED_APPS = [

'reqresapp'
]

Modifiez les fichiers nécessaires :

Modifier les vues.py avec le script suivant. le indice() fonction du script lira le chemin de la demande, la méthode et l'agent utilisateur en utilisant trois HttpRequête les attributs. Ensuite, ces valeurs seront envoyées au navigateur en utilisant Réponse HTTP () méthode.

vues.py

# Importer HttResponse
de Django.http importer HttpResponse
# Définir la fonction pour gérer la demande et la réponse
def index (demande):
chemin = demande.chemin
méthode = demande.méthode
userAgent = requête.META['HTTP_USER_AGENT']
# requête est gérée à l'aide de l'objet HttpResponse
return HttpResponse("

Test du cycle de réponse de requête Django


"
"

Chemin de la requête : " + chemin +
"

Méthode de requête : " + méthode +
"

Agent utilisateur : " + agent utilisateur + "

")

Modifier les URL.py avec le script suivant pour définir le chemin pour appeler le indice() fonction de la vues.py déposer.

URL.py

# Chemin d'importation
de Django.chemin d'importation des URL
# Vue d'importation
de reqresapp.index d'importation de 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 didacticiel. Les utilisateurs de Django pourront utiliser les objets requête et réponse Django après avoir lu ce tutoriel.

Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...
Meilleurs jeux de laboratoire d'applications Oculus
Si vous êtes propriétaire d'un casque Oculus, vous devez être au courant du chargement latéral. Le chargement latéral est le processus d'installation ...
Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...