Я использую Django 1.6, django.contrib.auth.views. Ниже я использую определения URL-адреса входа и выхода из системы. Прямо сейчас, когда пользователь нажимает мою ссылку на выход из системы, открывается окно «logout_then_login», как и должно было, но когда пользователь возвращается в систему, параметр «следующий» не определен и страница пересылается по умолчанию «учетные записи/профиль», дорожка. То, что я бы предпочел, - это logout_then_login view forward «следующее» значение для входа в систему.Как передать параметр «Следующий» в режим Django Auth logout_then_login?
Например, пользователь находится на странице/foo/bar, когда они выходят из системы. Я бы хотел, чтобы они были отправлены на экран входа в систему с параметром '/ foo/bar' в качестве следующего параметра, поэтому, когда они снова заходят в систему, они возвращаются на ту же страницу, на которой они были. Я хочу, чтобы он был динамическим, на основе request.path, когда нажата кнопка выхода из системы. Я знаю статическое решение переопределения значения по умолчанию для следующего, когда оно не определено.
Текущий urls.py:
from django.contrib.auth.views import login, logout_then_login
urlpatterns = patterns('base.views',
url(r'^accounts/login/$', login, name='login'),
url(r'^accounts/logout/$', logout_then_login, name='logout'),
)
Я попытался с помощью extra_context аргумент для logout_then_login, но даже не знаю, как это должно выглядеть с использованием имени URL в шаблоне:
<a href="{% url 'logout' extra_context={'next': request.path } %}">Log Out</a>
Am Я на правильном пути - или есть лучший способ сделать это?