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 reqresappB. 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 createsuperuserC. 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 HttResponsede 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 +
"
"
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'importationde 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 runserverExé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.