Django: LoginView перенаправляет меня на учетные записи/профиль вместо предыдущей страницы
На моей странице есть панель навигации, которая видна на всех страницах. Там есть кнопка "Войти/Зарегистрироваться". После регистрации я хотел бы перенаправить пользователя на предыдущую страницу.
Пример:
В настоящее время я хочу купить винил на сайте http://127.0.0.1:8000/vinyls/. Я нажимаю "Sign In" и ввожу свои учетные данные. После нажатия кнопки "Submit" я хочу вернуться в /vinyls/. То же самое касается /record_labels/, /events/ и т.д.
Я попробовал использовать <input type="hidden" name="next" value="{{ next }}"> в шаблоне входа, но меня перенаправляют на /accounts/profile. Затем я попробовал использовать <a id="nav-a" href="{% url 'sign in' %}?next={{ request.path }}">Sign Up/Sign In</a>, но меня перенаправляют на /accounts/profile.
Это мой SignInView:
class SignInView(auth_views.LoginView):
template_name = 'sign-in.html'
Это мой sign-in.html:
<h1>Sign in</h1>
<form method="post" action="{% url 'sign in' %}">
{{ form.as_p }}
<input type="hidden" name="next" value="{{ next }}">
<p>
<button type="submit">Sign in</button>
{% csrf_token %}
</p>
<p>Not a member? <a href="{% url 'sign up' %}">Sign up now</a></p>
</form>
Добавление
LOGIN_REDIRECT_URL = '[your-redirect url]'
к файлу settings.py в вашем проекте должно решить эту проблему.
Смотрите документацию .