J'ai deux applications situées sur deux ordinateurs distincts. Sur l'ordinateur A, dans le fichier urls.py
j'ai une ligne comme ce qui suit:django sans slash ne redirige pas
(r'^cast/$', 'mySite.simulate.views.cast')
Et cette URL travail pour les deux mySite.com/cast/
et mySite.com/cast
. Mais sur l'ordinateur BI ont une URL similaire écrite comme de:
(r'^login/$', 'mySite.myUser.views.login')
Pour une raison quelconque sur l'ordinateur B le url mySite.com/login
/fonctionnera, mais mySite.com/login
se bloque et ne directement à son mySite.com/login/
comme il sera sur l'ordinateur A. Est il y a quelque chose qui m'a manqué? Les deux fichiers url.py
me semblent identiques.
« Quand il est réglé sur True, si l'URL de la requête ne correspond à aucun des motifs dans l'URLconf et ne se termine pas par une barre oblique, une redirection HTTP est émise vers la même URL avec une barre oblique ajoutée Notez que la redirection peut entraîner la perte de toute donnée soumise dans une requête POST. ". "Le paramètre APPEND_SLASH n'est utilisé que si CommonMiddleware est installé ...". Je préfère la réponse de Michael Gendin pour une solution plus propre. – Wtower
Cela ne fonctionne pas si vous utilisez une URL "catch all" supplémentaire à la dernière entrée de vos URLs. La réponse de speedplane @ fonctionnera même dans ces situations. Mais, bien sûr, ceci est plus simple et devrait être utilisé s'il n'y a pas d'entrées de type "catch all". – np8