Le paramètre APPEND_SLASH
Exclusif Premium
Débloquez votre potentiel ! ✨
Cette session fait partie de notre programme Premium exclusif
+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors
Prêt à passer au niveau supérieur ?
Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compteToutes les questions

Mela
30 avril 2025
Résolue
3 réponses
Problème avec le paramètre `APPEND_SLASH` dans les settings
bonjour !
je n'arrive pas à ajouter le paramètre `APPEND_SLASH` dans le setting

Sylvain FOWO
22 avril 2025
Résolue
3 réponses
Obtention du fichier views.py
bonjour
comment a-t-on fait pour obtenir le fichier views.py? car dans la leçon précedente ( Créer un chemin d'URL) il n'y est pas et subitement dans la leçon suivante ( Le paramètre APPEND_SLASH) il y est.

Krystof
21 juin 2024
Résolue
1 réponse
Le paramètre APPEND_SLASH
Bonjour,
Dans la vidéo (*Bases de Django* > *Le paramètre APPEND_SLASH*), il nous est conseillé de conserver la variable **APPEND_SLASH** à **True**, et j'ai bien compris l'intérêt. Mais du coup je me pose la question de l'intérêt d'éventuellement redéfinir cette variable à **False**.
Merci par avance pour la réponse
00:00:00 :Dans cette vidéo, je vais vous parler d'une variable d'environnement,la variable appendSlash,et son intérêt dans la résolution des chemins d'URL avec Django.Par défaut, vous voyez quand on a des chemins d'URL ici, qu'on a un slash à la fin du chemin.
00:00:16 :Donc ça, je vous conseille de toujours le laisser,mais vous allez voir que Django, par défaut,a un mécanisme qui permet de rediriger les requêtes qui n'ont pas le slashvers les requêtes qui contiennent le slash à la fin du chemin d'URL.
00:00:29 :Ce paramètre, c'est un paramètre qui s'appelle appendSlashet qui, par défaut, est égal à true.Alors, il n'est pas dans le fichier settings.py,il est défini globalement au niveau de votre projet,mais on peut, si on le souhaite, le désactiver,donc en le mettant à false, en rajoutant cette valeur dans notre fichier de settings.
00:00:48 :Je vais vous montrer tout d'abord ce que ça donne avec le comportement par défaut,donc avec appendSlash qui est égal à true.Donc là, ça reviendrait au même de ne pas mettre la ligne ou de la mettreavec cette valeur par défaut,mais par la suite, vous allez voir qu'on va tester avec une valeur de false.
00:01:01 :Donc là, j'ai tout simplement une vue de test qui renvoie un titreet cette vue, j'y accède avec l'URL test slash.Donc si je lance le serveur de développement et que je vais sur mon site,donc au 127.0.0.1.8000,
00:01:16 :là, pour l'instant, sur la page d'accueil, je n'ai rien,mais si je me rends sur slash test,vous allez voir que la vue va être automatiquement redirigée.
00:01:24 :Alors pour ça, je vais faire un clic droitet je vais cliquer sur inspect ici pour ouvrir les outils de Google Chromeet notamment l'onglet network ici qui va nous permettre de voir les requêtesqui sont effectuées par le navigateur.
00:01:36 :Donc en premier lieu, je me dirige sur slash testet je ne mets pas le slash à la fin de l'URL.J'appuie sur entrée et là, vous voyez qu'on n'a pas une, mais deux requêtes.
00:01:46 :On a une première requête, donc la requête qu'on a effectuée,slash test, qui a un statut de 301.301, c'est en fait une redirection, ce qui est indiqué ici,document redirect, et ça nous a en fait redirigé vers la page test slash.
00:01:59 :Et donc cette page test slash,elle nous retourne bien la vue qu'on avait définie dans le fichier d'URL.Donc vous voyez ici qu'avec append slash qui est défini à true,on a cette redirection depuis le chemin test sans le slashqui s'effectue vers le chemin test avec le slash.
00:02:17 :Si par contre on change cette variable ici, qu'on la met à false,et alors là quand on change les settings,généralement il est conseillé de relancer le serveur,donc je l'ai arrêté et je vais le relancer.
00:02:28 :Donc maintenant avec append slash qui est égal à false,on ne va pas avoir cette redirection automatique.Donc si j'enlève le slash et que je retourne sur slash test sans mettre de slash à la fin,là vous voyez que cette fois-ci on a une erreur 404.
00:02:41 :Et si on regarde ici, on a une seule requête avec un statut 404.Donc avec append slash qui est égal à false,cette redirection ne s'effectue pas.
00:02:50 :Si par contre moi je rajoute le slash à la fin du chemin,là je tombe logiquement sur ma vue qui correspond au chemin d'URL qu'on a défini ici.
00:02:58 :Donc voilà pour cette petite précision.Dans les chemins d'URL, moi je vous conseille de toujours mettre le slash à la fin,mais sachez que donc par défaut avec append slash qui est égal à true,donc ça c'est vraiment le comportement par défaut,vous n'avez même pas besoin de le spécifier dans le fichier de settings.
00:03:14 :Si vous ne mettez rien par défaut, c'est à true.Et bien dans vos fichiers d'URL, même si vous mettez une URL avec ou sans,en fait à chaque fois, ça va rediriger de toute façon vers le chemin avec le slash après.
00:03:26 :Donc si vous avez ce chemin sans le slash, et bien il va le trouver tout de suite.Si vous avez le chemin avec le slash et que vous faites une requête vers test sans le slash,et bien automatiquement ça sera redirigé vers cette vue.
00:03:36 :Donc vous n'avez pas où vous en faire.Moi je vous conseille de toujours mettre le slash à la fin ici,comme ça vous avez une uniformité.
00:03:42 :Et de toute façon avec ce paramètre Django va retomber sur ses pieds à chaque foispour vous retourner la vue avec le slash à la fin.
00:03:50 :Donc en général, je ne vous conseille pas de modifier cette valeur,donc la valeur de append slash.Laissez-la comme elle est par défaut,mais il me semblait important de vous montrer ce petit mécanisme qui s'opère avec la redirectionet ainsi de vous expliquer pourquoi on a toujours le slash qui est présent ici à la fin de nos chemins d'URL.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.