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 в вашем проекте должно решить эту проблему.

Смотрите документацию .

Вернуться на верх