Mam dwie aplikacje znajdujące się na dwóch oddzielnych komputerach. Na komputerze w pliku urls.py
mam linię tak:Adresy URL django bez ukośnego ukośnika nie przekierowują
(r'^cast/$', 'mySite.simulate.views.cast')
a ten adres będzie działać zarówno mySite.com/cast/
i mySite.com/cast
. Ale na komputerze BI mają podobną url pisemnego się następująco:
(r'^login/$', 'mySite.myUser.views.login')
Z jakiegoś powodu na komputerze B url mySite.com/login
/zadziała ale mySite.com/login
zawiśnie i nie skieruje z powrotem do mySite.com/login/
jak to będzie na komputerze A. Czy coś tam przeoczyłem? Oba pliki url.py
wyglądają identycznie jak ja.
„Gdy ustawiona na True, jeżeli żądanie URL nie pasuje do żadnej z tych wzorów w URLconf i to nie kończy się ukośnikiem, przekierowanie HTTP jest wysyłane do tego samego adresu URL z dołączonym ukośnikiem Zwróć uwagę, że przekierowanie może spowodować utratę wszystkich danych przesłanych w żądaniu POST. ". "Ustawienie APPEND_SLASH jest używane tylko wtedy, gdy zainstalowano CommonMiddleware ...". Wolę odpowiedź od Michaela Gendina, by uzyskać czystsze rozwiązanie. – Wtower
To nie działa, jeśli korzystasz z dodatkowego adresu URL "catch all" przy ostatnim wpisie swoich znaków url. Odpowiedź @ speedplane będzie działać nawet w tych sytuacjach. Ale oczywiście jest to prostsze i powinno być używane, jeśli nie ma wpisów "catch all" urlpattern. – np8