Obtenez l'URL actuelle dans le modèle Django

Obtenez l'URL actuelle dans le modèle Django
Le modèle Django est utilisé pour afficher les données d'application pour les utilisateurs. Parfois, il récupéra et affichage de l'URL actuelle dans le modèle. L'URL actuelle peut être affichée de différentes manières, telles que uniquement le nom de domaine, un nom de domaine avec chemin et le nom de domaine avec Path et HTTP. La façon dont l'URL actuelle peut être affichée dans le modèle Django dans différents formats sera affichée dans ce tutoriel.

Conditions préalables:

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

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

Configurer une application Django:

1. Exécutez la commande suivante pour créer une application django nommée geturlapp.

$ python3 gérer.py startapp geturlapp

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

$ python3 gérer.py créeuperuser

3. Ajouter le nom de l'application dans le Installé_app partie de la paramètres.py déposer.

Installé_apps = [

'geturlapp'
]]

4. Créer un dossier nommé modèles à l'intérieur de geturlapp dossier et définissez le modèle Emplacement de l'application dans le Modèles partie de la paramètres.py déposer.

Modèles = [

… .
'DIRS': ['/ home / fahmida / django_pro / validationApp / modèles']],
… .
,
]]

Créer et modifier les fichiers nécessaires:

Trois fichiers HTML différents ont été créés dans cette partie de ce tutoriel pour afficher l'URL actuelle dans trois formats différents.

Créer le indice.html fichier avec le script suivant pour afficher le nom de domaine de l'URL actuelle uniquement.

indice.html


Lire le nom de domaine


Le nom de domaine de l'URL actuel = showUrl



Créer le index2.html fichier avec le script suivant pour afficher le nom de domaine avec le chemin d'accès de l'URL actuelle.

index2.html


Lire l'URL actuelle

>

Le nom de domaine de l'URL actuel = showUrl



Créer le index3.html fichier avec le script suivant pour afficher le nom de domaine avec le chemin d'accès et HTTP de l'URL actuelle.

index3.html


Lisez l'URL actuelle avec HTTP


Le nom de domaine de l'URL actuel = showUrl



Modifier le vues.py fichier du geturlapp dossier avec le script suivant. Trois fonctions avaient été définies dans le script pour renvoyer la valeur d'URL actuelle dans trois formats différents au modèle. Le getUrl1 () La fonction a été définie pour récupérer le nom de domaine de l'URL actuelle et l'envoyer au indice.html déposer. Demande.get_host () La fonction a été utilisée pour récupérer le nom de domaine de l'URL actuelle. Le getUrl2 () La fonction a été définie pour récupérer le nom de domaine avec le chemin d'accès de l'URL actuel et l'envoyer au index2.html déposer. D'un autre côté, demande.L'attribut de chemin a été utilisé avec la demande.Fonction get_host () Pour lire le chemin avec le nom de domaine de l'URL actuelle. Le getUrl3 () La fonction a été définie pour récupérer le nom de domaine avec le http et le chemin de l'URL actuel et l'envoyez-le au index3.html déposer. demande._current_scheme_host L'attribut a été utilisé pour récupérer le nom de domaine avec http. La valeur de retour de chaque fonction sera transmise au modèle à l'aide du showurl étiqueter.

vues.py

# Module d'importation
De Django.Raccourcis
# Lire uniquement le nom de domaine de l'URL actuelle
Def GetUrl1 (demande):
UrloBject = demande.get_host ()
Retour rendu (demande, «index.html ', ' showUrl ': urlobject)
# Lisez le nom de domaine avec le chemin
Def GetUrl2 (demande):
UrloBject = demande.get_host () + demande.chemin
rendu rendu (demande, 'index2.html ', ' showUrl ': urlobject)
# Lisez le nom de domaine avec le HTTP et le chemin
Def GetUrl3 (demande):
UrloBject = demande._current_scheme_host + demande.chemin
Retour rendu (demande, 'index3.html ', ' showUrl ': urlobject)

Modifier le URL.py fichier du geturlapp dossier avec le script suivant. Trois chemins avaient été définis dans le script pour accéder aux trois fonctions du fichier de vue. Le chemin de chaîne vide (”) sera utilisé pour appeler le getUrl1 () fonction. Le 'index2' le chemin sera utilisé pour appeler le getUrl2 () fonction. Le 'index3' le chemin sera utilisé pour appeler le getUrl3 () fonction.

URL.py

# Module d'importation de chemin
De Django.Chemin d'importation des URL
# Affichage d'importation
à partir des vues d'importation de Geturlapp
# Définir les chemins pour lire l'URL actuelle
urlpatterns = [
# Affichez le nom de domaine dans le modèle
Path (", vues.getUrl1),
# Affichez le nom de domaine avec le chemin du modèle dans le modèle
chemin («index2», vues.getUrl2),
# Affichez le nom de domaine avec HTTP et le chemin dans le modèle
chemin («index3», vues.getUrl3),
]]

Sortir:

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

$ python3 gérer.Py Runserver

Exécutez l'URL suivante du navigateur pour afficher le nom de domaine de l'URL actuelle. Le getUrl1 () La fonction sera appelée pour cette URL qui enverra le nom de domaine au indice.html déposer.

http: // localhost: 8000

La sortie suivante apparaîtra après avoir exécuté le script.

Exécutez l'URL suivante du navigateur pour afficher le nom de domaine avec le chemin de l'URL actuel. Le getUrl2 () La fonction sera appelée pour cette URL qui enverra le nom de domaine avec le chemin vers le index2.html déposer.

http: // localhost: 8000 / index2

La sortie suivante apparaîtra après avoir exécuté le script. Ici, le chemin est index2.

Exécutez l'URL suivante du navigateur pour afficher le nom de domaine avec le HTTP et le chemin d'accès de l'URL actuel. Le getUrl3 () La fonction sera appelée pour cette URL qui enverra le nom de domaine avec le HTTP et le chemin vers le index3.html déposer.

http: // localhost: 8000 / index3

La sortie suivante apparaîtra après avoir exécuté le script. Ici, le chemin est index3.

Conclusion:

L'URL actuelle peut être affichée dans le modèle django à l'aide de la méthode et des attributs de l'objet de demande. Trois modèles avaient été créés dans ce tutoriel pour afficher l'URL actuelle de trois manières différentes qui aideront les lecteurs à connaître la façon de lire l'URL actuelle du modèle Django.