Comment utiliser le routage dynamique avec Django

Comment utiliser le routage dynamique avec Django
Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation.

Sans routage dynamique, la navigation dans les pages Web serait difficile. Vous devrez taper le chemin complet de chaque page que vous visitez sur le navigateur. Quelle terrible expérience utilisateur.





Les localisateurs de ressources uniformes (URL) dynamiques vous permettent de naviguer vers différentes pages d'une application en un clic. Django facilite la conception d'URL dynamiques. Il dispose d'un module de configuration d'URL (URLconf) qui connecte les expressions d'URL aux vues.





UTILISEZ LA VIDÉO DU JOUR

Tout le code de l'URLconf est en syntaxe Python, ce qui facilite la création d'URL dynamiques. Apprenons-en plus sur les URL dynamiques en construisant un projet Django.





1. Créer un projet Django

Première, créer un projet Django et application (appli).

Nommez votre application Boma-montre . L'application collectera l'emplacement, la description et les numéros de résidents de divers quartiers. Créer un modèle nommé Quartier . Utilisez le modèle pour ajouter des informations sur les quartiers dans une base de données. Apprendre à créer des modèles dans Django et la base de données si vous n'êtes pas familier.



Ensuite, créez une fonction de vue pour les quartiers.

2. Créer une fonction d'affichage

Dans Django, les vues sont des fonctions Python qui acceptent les requêtes HTTP et renvoient des réponses. Sur une page Web propulsée par Django, les vues effectuent des tâches et des missions variées.





Pour exécuter une vue, vous devez l'appeler via une URL. Une URL est un chemin unique vers une ressource sur le Web. La ressource peut être une page HTML, une image ou un point de terminaison d'API.

Créez une URL qui récupère les données de voisinage en fonction des paramètres passés. Pour ce faire, vous pouvez utiliser le clé primaire (pk) ou Identification (identifiant) pour récupérer les informations. Vous utiliserez un modèle pour ce faire.





Vous pouvez créer des vues en les définissant dans un fichier appelé vues.py dans le dossier de l'application. Commencez par importer le rendre fonction de Django pour afficher les données à l'URL. Importez également les Quartier modèle de modèles.py .

from django.shortcuts import render 
from .models import NeighbourHood

Ensuite, créez une fonction d'affichage nommée domicile qui affiche tous les quartiers sur le modèle de maison. La NeighborHood.objects.all() La fonction reçoit des données pour tous les quartiers de la base de données.

def home(request): 
neighborhoods = NeighbourHood.objects.all()
return render (request, "home.html", {'neighborhoods':neighborhoods})

Créez également une fonction d'affichage pour join_hood qui affichera les informations d'un quartier. La NeighbourHood.objects.get(id=id) la fonction demande des données en fonction de l'ID. Les informations sont ensuite rendues sur un modèle.

def join_hood(request, id): 
neighborhood = NeighbourHood.objects.get(id=id)
return render (request, 'join_hood.html', {'neighborhood':neighborhood})

Plus tard, lorsque vous naviguez vers un quartier, vous pourrez voir ses informations de profil.

3. Créez une URL dynamique

Vous pouvez maintenant créer une URL dynamique pour la fonction d'affichage que vous avez créée.

from django.urls import path 
from . import views
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = [
path ('home', views.home, name='home'),
path ('join_hood/<str:id>/', views.join_hood, name='join_hood'),
]

if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

Importer chemin à partir des URL Django pour créer des chemins pour la vue. Ensuite, importez les fonctions d'affichage à partir de vues.py .

La join_hood L'URL comporte un espace réservé entre crochets : . Cela capture cette partie de l'URL et l'envoie à la vue.

Les crochets comprennent généralement une spécification de convertisseur. La spécification peut être soit une chaîne (str) ou entier (int). Django propose également limace, chemin , ou identifiants universels uniques (uuid). La spécification limite le type de variable ou le nombre de caractères transmis dans l'URL à la vue.

Donner un nom aux URL aidera à les identifier sur les modèles.

La statique et fichiersstatiques les importations affichent des fichiers statiques sur les chemins d'URL. En savoir plus sur la structuration des paramètres d'URL dans la version officielle Django Documentation.

4. Ajouter une URL à un modèle

Une fois que vous avez ajouté la fonction d'affichage à l'URL, créez un modèle HTML pour afficher les données. Vous nommez le modèle join_hood.html .

{% extends "base.html" %} 

{% load static %}

{% block content %}
<div class="card mb-3" style="max-width:fit content;">
<div class="row g-0">
<div class="col-md-4">
<div class="col-md-8" >
<div class="card-body">
<h5 class="card-title"> Welcome!</h5>
<p class="card-text pt-4"> Name: {{neighbourhood.name}}</p>
<p class="card-text pt-4"> Location: {{neighbourhood.location}}</p>
<p class="card-text pt-4"> Description: {{neighbourhood.description}}</p>
<p class="card-text pt-4"> Health Tel:{{neighbourhood.health_tell}}</p>
<p class="card-text pt-4"> Police Number: {{neighbourhood.police_number}}</p>
<p class="card-text pt-4"> Residents : {{neighbourhood.Count}}</p>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

Créer le join_hood modèle dans le dossier de l'application pour afficher les données du quartier. Tout d'abord, étendez la base.html modèle avec des feuilles de style (bootstrap) que vous utiliserez pour styliser le modèle. Ensuite, affichez les variables qui afficheront les informations sur la page.

Ensuite, créez un home.html modèle où vous afficherez tous les quartiers.

{% extends 'base.html' %} 

{% load static %}

{% block content %}
<div class="container" style="color:black;">
<img src="{{neighborhood.hood_logo.url}}" class="card-img-top" alt="{{user.neighborhood.name}}">

<div class="row">
{% for neighborhood in neighborhoods %}
<div class="col-md-4">
<div class="card mb-4" style="min-height:340px">
<img src="{{neighborhood.hood_logo.url}}" class="card-img-top" alt="{{user.hood.name}}">

<div class="card-body">
<h5 class="card-title">
{{neighborhood.name}}
({{neighborhood.location}})
<span class="ml-4">{{neighborhood.Count}} member{{neighborhood.members.count|pluralize}}</span>
</h5>

<p class="card-text">{{neighborhood.description}}</p>
<p class="card-text">{{neighborhood.member.Count}}</p>

<a href="{% url 'join_hood' neighborhood.id %}" class="btn btn-primary btn-sm">Join Hood</a>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

Sur la page d'accueil, affichez toutes les informations que vous souhaitez afficher sur les quartiers. Vous ajouterez un bouton et une balise d'ancrage sur la page d'accueil. La balise d'ancrage a l'URL Nom et identifiant de quartier .

Lorsque vous cliquez dessus, le bouton navigue jusqu'au voisinage de cet ID. Le modèle d'accueil apparaît à l'URL http://127.0.0.1:8000/home/. The picture below demonstrates this page :

  La page d'accueil affiche tous les quartiers

5. Testez le routage dynamique

Maintenant, vous pouvez tester si le routage dynamique fonctionne sur le modèle. Lorsque vous cliquez sur le rejoindre le capot bouton, il navigue vers le join_hood modèle. La join_hood Le modèle affiche des informations de profil sur le quartier que vous avez sélectionné.

Vous verrez également l'ID du quartier affiché sur l'URL du navigateur http://127.0.0.1:8000/join_hood/2/

Il apparaîtra comme indiqué ci-dessous :

  La page join_hood affiche les détails du quartier sur le navigateur

Toutes nos félicitations! Vous avez créé une URL dynamique.

Pourquoi utiliser les URL Django ?

Les URL dynamiques sont une fonctionnalité importante dans les applications Web. Django facilite la conception d'URL en fonction de vos besoins. Il supprime les limitations que vous pourriez associer à d'autres frameworks.

Le module URLconf regorge de ressources prenant en charge la création d'URL Django. Il facilite également la diffusion de fichiers statiques sur des modèles et améliore la gestion des erreurs.

comment avoir un fond d'écran animé windows 10

Django a d'autres fonctionnalités conçues pour optimiser les applications backend. Il automatise l'authentification des utilisateurs, l'administration du contenu et les plans de site, entre autres fonctionnalités.