In meinem URLconf ich die folgende URL haben (wo login
ist die eingebaute in Login-View-Funktion von django.contrib.auth.views
):Ist Django Login Redirect Stripping meine URL-Parameter?
url(r'^login/', login, name='login', kwargs={
'template_name': 'topspots/login.html',
'redirect_field_name': 'next',
})
Dann in meiner Vorlage, in einer Navigationsleiste, die auf allen Seiten auf der Website vorhanden ist, ich habe folgende Login-Link:
<li><a href="{% url 'login' %}?next={{ request.get_full_path }}">Log in</a></li>
Wenn ich die Login-Seite aus besuchen, zB die Suchergebnisseite, die uRL ich in der Adressleiste erhalten, ist so etwas wie:
http://localhost:8000/login/?next=/spots/search/?search_query=South+Oak+Park%2C+KCMO%2C+MO%2C+United+States&searchtype=default&latitude=38.97600750000001&longitude=-94.58623399999999
, die mir richtig scheint (man beachte die longitude
und latitude
Parameter), denn nach der Anmeldung würde Ich mag zu
http://localhost:8000/spots/search/?search_query=South+Oak+Park%2C+KCMO%2C+MO%2C+United+States&searchtype=default&latitude=38.97600750000001&longitude=-94.58623399999999
das heißt, der next
Pfad umgeleitet werden. In der Anmeldesicht lautet der Wert {{ next }}
jedoch /spots/search/?search_query=South Oak Park, KCMO, MO, United States
. Mit anderen Worten, alle Parameter außer dem ersten wurden entfernt. Ich konnte nicht herausfinden, wann/wo/warum diese Parameter abgehackt werden. Ist das etwas, was Django macht, oder stammt es von einem Fehler von mir? Wenn es Django ist, bin ich mir sicher, dass es einen guten Grund dafür gibt, aber wenn ich nur etwas falsch mache, möchte ich es beheben. Irgendwelche Vorschläge? Vielen Dank!
Ja! Ich kann nicht glauben, dass es etwas so Einfaches war! Dies sollte wahrscheinlich etwas gewesen sein, das ich selbst hätte finden können, aber wenn ich mit einer unbekannten Technologie arbeite, stelle ich oft fest, dass ich nicht einmal weiß, wo ich hinschauen soll, oder die richtigen Fragen zu stellen. Danke, dass Sie mich in die richtige Richtung weisen! – elethan