Mam urls.py z tej linii:Znacznik szablonu Django: jak wysłać następną_stronę w {url auth_logout}?
url(r'^logout/$', 'django.contrib.auth.views.logout', name="auth_logout"),
W moim szablon Mam ten wiersz:
<a href="{% url auth_logout %}">Logout</a>
Teraz chciałbym dodać param next_page do templatetag zawartości, ale nie mogę zmusić go do działania. Próbowałem to:
{% url auth_logout request.path %}"
... i tak:
{% url auth_logout request,request.path %}
Ale żaden z nich nie działa. W jaki sposób mogę zapewnić funkcję z opcjonalnym parametrem next_page przy użyciu adresu URL templatetag?
Dzięki!
To prawie wystarczy! Posiadanie dwóch wierszy w urls.py rozwiązuje to, ale wywołuje domyślną stronę django, gdy tylko wchodzisz do/logout /. Dodanie {'next_page': '/'} zgodnie z twoją sugestią powoduje, że przekierowanie ma miejsce we/wszystkich przypadkach, nawet jeśli podano następne. Wyświetlanie kodu źródłowego dla wylogowania wyjaśnia to zachowanie. Tak więc wygląda na to, że sparametryzowany jest używany przez znacznik szablonu, ale kodowany na stałe jest używany po kliknięciu łącza? –