django: APPEND_SLASH / Redirect funktioniert nicht mehr...

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 4. Dezember 2007, 08:34

Mir ist aufgefallen, das der Redirect zu einer URL mit einem Slash am Ende nicht mehr funktioniert.

Ich habe die Änderung http://code.djangoproject.com/changeset/6852 gefunden, die hier beschrieben ist: http://code.djangoproject.com/ticket/3228

Wenn ich das richtig verstehe, wird nur ein redirect gemacht, wenn es ein passender urlpattern für die neue URL gibt. Das ist eigentlich bei mir der Fall, aber dennoch passiert nix.

Also ich rufe z.B. die URL auf: http://localhost:8000/_install
Im urlpattern gibt es das hier:
^_install/$ -> PyLucid.install.index.menu

Liegt der Fehler irgendwie bei mir oder ist es ein allgemeiner Bug? Kann das jemand bestätigen?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Dienstag 4. Dezember 2007, 09:12

Middleware deaktiviert? Funktioniert hier.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 4. Dezember 2007, 09:17

Die CommonMiddleware ist eigentlich aktiv und die ist dafür zuständig, oder?

Komisch...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 19. Dezember 2007, 16:22

Ist ja Lustig, jetzt gibt es auch eine richtige Erklärung dafür:
http://code.djangoproject.com/wiki/Back ... Hbehaviour

Also wenn ich das nun richtig verstehe, macht django immer dann kein Redirect zu einer URL mit angefügtem Slash, wenn ein RE auch ohne den Slash matchen würde...

Ich versuche also danach meine urls.py abzuändern, damit wieder alles funktioniert. Noch geht es aber leider nicht...

btw. weiß jemand, wie man seine urls.py am besten per unitest überprüfen kann? Hat da jemand ein Beispiel?

EDIT: Ich hab mal einen neuen Thread zum Thema unittest für urls aufgemacht: http://www.python-forum.de/topic-12957.html

Hier sollte es dann nur um das Append-Slash Problem weitergehen, zu dem ich noch keine Lösung hab ;( Eigentlich möchte ich das alte Verhalten von django zurück !

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten