ich zwei Anwendungen auf zwei separaten Computern befinden habe. Auf Computer A, in der urls.py
Datei habe ich eine Zeile wie die folgenden:django Urls ohne einen Schrägstrich leitet nicht
(r'^cast/$', 'mySite.simulate.views.cast')
Und das url funktioniert sowohl für mySite.com/cast/
und mySite.com/cast
. Aber auf Computer BI haben eine ähnliche URL geschrieben wie:
(r'^login/$', 'mySite.myUser.views.login')
Aus irgendeinem Grund auf Computer B die url mySite.com/login
/arbeiten aber mySite.com/login
wird hängen und wird nicht zurück zu mySite.com/login/
wie wird es auf Computer anweisen A. Ist da habe ich etwas verpasst? Beide url.py
Dateien sehen identisch mit mir aus.
„Wenn auf True gesetzt, wenn die Anfrage-URL eine der Muster nicht in der URLconf übereinstimmen und es endet nicht in einem Schrägstrich, eine HTTP-Weiterleitung wird an die gleiche URL mit einem angehängten Schrägstrich ausgegeben. Beachten Sie, dass die Weiterleitung möglicherweise dazu führt, dass Daten, die bei einer POST-Anfrage übermittelt wurden, verloren gehen. "Die APPEND_SLASH-Einstellung wird nur verwendet, wenn CommonMiddleware installiert ist ...". Ich bevorzuge Michael Gendins Antwort für eine sauberere Lösung. – Wtower
Dies funktioniert nicht, wenn Sie beim letzten Eintrag Ihres URL-Patterns die zusätzliche URL "catch all" verwenden. @ Speedplanes Antwort funktioniert auch in diesen Situationen. Aber das ist natürlich einfacher und sollte verwendet werden, wenn es keine "alle URL-Einträge" gibt. – np8