Перенаправление входа в систему Django, не работающее?

Я перехожу к своей веб-странице 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'),

Таким образом, каковы возможные причины для этого?

10
задан mpen 14 February 2010 в 21:25
поделиться

2 ответа

Нужно было добавить

<input type="hidden" name="next" value="{{ next }}" />

к моей форме входа. Она возвращалась на URL входа без токена next, а затем пыталась перенаправить.

15
ответ дан 3 December 2019 в 20:04
поделиться

Он перенаправляет вас к переменной настроек LOGIN_REDIRECT_URL .

Это происходит, когда верно следующее:

if not redirect_to or '//' in redirect_to or ' ' in redirect_to:
                redirect_to = settings.LOGIN_REDIRECT_URL

Скорее всего, ваша следующая переменная пуста или содержит мусор.

4
ответ дан 3 December 2019 в 20:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: