Перенаправление на предыдущую страницу после успешного входа в систему администратора
У меня есть страница 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 для подробностей об этом.