Django - Résolution des vues et des URL

Table des matières
Les vues et les URL ne sont pas appelées directement par notre code, cela est dû à la nature dynamique des applications, la raison en est que plus le formulaire est générique, il est possible de l'utiliser dans beaucoup plus de cas.
Donc, la bonne façon est d'utiliser les différentes fonctions qui nous permettent de résoudre les routes soit d'une vue à une URL, soit d'une URL à une vue, pour cela nous avons des outils appelés décorateurs.
Résolution de l'URL aux vues
Le vues, par les pratiques recommandées ne sont pas appelés directement par notre code, mais plutôt ils sont invoqués via des appels dans l'URL, ces appels sont traités et servis par le système de répartition de Django.
L'un des aspects clés à ce stade est que Django utilise des expressions régulières pour faire la construction de l'URL qui appellera notre vue, grâce à cela nous pouvons passer différents paramètres et ainsi ajouter des fonctionnalités à nos vues.
UNE modèle d'URL contient les aspects suivants :
  • L'expression régulière qui nous permet de capturer l'URL que nous avons placée comme modèle.
  • Une référence à la vue qui sera appelée.
  • Un dictionnaire d'arguments qui sera passé à chaque appel de la vue.
  • Un nom qui servira de référence pour pouvoir faire des appels inversés de la vue.
Résolution des vues en URL
Dans nos applications, nous devons souvent appeler d'autres vues ou ressources via une URL, mais copier ou coder en dur de manière rigide lesdites URL n'est pas une bonne pratique, car si, par exemple, il y a un changement dans notre programme, imaginez devoir changer 20 ou 30 références à une URL, pour cela, nous pouvons utiliser différentes méthodes pour que notre application recherche l'URL sans avoir à la copier, l'une de ces méthodes consiste à utiliser le Décorateur de permalien que nous pouvons voir dans le point suivant.
Le décorateur de Permalien
Au sein de chaque modèle, nous avons accès à la méthode get_absolute_url () qui nous permet d'accéder directement à une page de détail d'un objet sans avoir à savoir comment l'URL doit être construite, cependant cette méthode ne nous permet pas de passer des arguments car il ne s'agit que d'un lien renvoyé.
Afin d'étendre les fonctionnalités, nous avons la possibilité d'utiliser et de renvoyer des paramètres comme s'ils provenaient de la méthode get_absolute_url().
Pour ce faire, vous devez suivre la structure suivante :
  • Le première valeur est le nom de la vue à appeler, si la vue a un nom il faut l'utiliser, sinon on peut utiliser le chemin d'importation de vue. Cette valeur est toujours requise.
  • Le deuxième valeur C'est un tuple d'arguments positionnels qui doivent être appliqués à la vue, sinon, nous pouvons laisser ce paramètre vide.
  • Le troisième valeur il s'agit d'un dictionnaire joignant les arguments à leurs valeurs respectives, ces valeurs doivent être transmises à la vue, au cas où la vue ne recevrait rien, nous pouvons exclure cette valeur de l'appel.
Voyons ensuite comment nous traduisons cela en un code dans Django, pour cela, nous allons inclure l'utilisation de décorateur dans un modèle :

Comme nous le voyons dans le code de l'image, nous appelons la vue bibliothèque_article détail, la deuxième valeur nous la passons vide car ce n'est pas nécessaire et dans la troisième valeur nous indiquons que le id_objet doit être lié à auto.id c'est-à-dire à l'identifiant du modèle lui-même, puis dans la dernière ligne, nous utilisons le décorateur.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave