Я перехожу к своей веб-странице http://localhost:8000/listings/post/
, это проваливает тест
@user_passes_test(lambda u: u.is_authenticated() and u.get_profile().shipper)
как ожидалось, и перенаправляет меня к http://localhost:8000/login/?next=/listings/post/
как он, как предполагается, но когда я вхожу в систему снова, это не перенаправляет меня назад к той странице как, он, как предполагается. Это берет меня к /accounts/profile/
. Я не определил redirect_field_name
где угодно, таким образом, это должно искать значение по умолчанию next
переменная. Соответствующее urls.py
бит похож на это
url(r'^login/$', 'django.contrib.auth.views.login', name='login'),
Таким образом, каковы возможные причины для этого?
Нужно было добавить
<input type="hidden" name="next" value="{{ next }}" />
к моей форме входа. Она возвращалась на URL входа без токена next
, а затем пыталась перенаправить.
Он перенаправляет вас к переменной настроек LOGIN_REDIRECT_URL
.
Это происходит, когда верно следующее:
if not redirect_to or '//' in redirect_to or ' ' in redirect_to:
redirect_to = settings.LOGIN_REDIRECT_URL
Скорее всего, ваша следующая переменная пуста или содержит мусор.