Перенаправление на предыдущую страницу после успешного входа в систему администратора

У меня есть страница authorized.html, для просмотра которой требуется логин администратора, поэтому, когда я перехожу на http://127.0.0.1:8000/authorized/, меня перебрасывает на http://127.0.0.1:8000/admin/login/?next=/admin/%3Fnext%3D/authorized/, что и ожидалось. Я использовал следующий код в файле view.py для создания этой функциональности:

class authorizedView(LoginRequiredMixin,TemplateView):
    template_name = 'home/authorized.html'
    login_url = '/admin/'

Но после успешного входа в систему администратора он не возвращает меня обратно на authorized.html, а направляет на http://127.0.0.1:8000/admin/?next=/authorized/, где находится только admin page, а не на нужную мне страницу authorized.html. authorized.html находится в home/templates/home/, где home - это приложение django, которое я создал. Как это сделать? Пожалуйста, предоставьте подробные шаги, я новичок в django!

В вашем settings.py обязательно укажите, куда переходить после успешного входа в систему, например:

LOGIN_REDIRECT_URL = '/authorized/'

См. https://docs.djangoproject.com/en/3.2/ref/settings/#login-redirect-url для более подробной информации.

Кроме того, вы можете украсить ваше представление символом @login_required и позволить Django обработать часть входа и перенаправить вас туда же. Смотрите https://docs.djangoproject.com/en/3.2/topics/auth/default/#the-login-required-decorator для подробностей об этом.

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