Django Admin Login --> Перенаправление при входе на другую страницу
Добрый вечер,
В настоящее время я пытаюсь решить проблему с Django Admin.
Я хочу выполнить следующие шаги: 1.) Если я захожу на localhost:8000/admin -->, то появляется Логин администратора. 2.) Если я войду в систему с учетными данными --> то он должен перенаправить меня на localhost:8000/test_page, а не на localhost:8000/admin page. 3.) Если я снова зайду на localhost:8000/admin, когда я вошел в систему, он должен показать мне страницу администратора.
Я уже искал в /python3.x/dist-packages/django/contrib/admin/sites.py, но не смог найти часть кода, чтобы заставить 2.) и 3.) работать.
У кого-нибудь есть идея или может помочь мне?
Спасибо :)
Правильно, нашел "решение"
В файле: contrib/admin/sites.py
Около строки 368 находится функция def login(self, request, extra_context=None)
После
if (REDIRECT_FIELD_NAME not in request.GET and
REDIRECT_FIELD_NAME not in request.POST):
context[REDIRECT_FIELD_NAME] = reverse('admin:index', current_app=self.name)
Я просто добавил эту строку:
context[REDIRECT_FIELD_NAME] = 'http://127.0.0.1:8000/test_page'
Теперь это выглядит следующим образом:
if (REDIRECT_FIELD_NAME not in request.GET and
REDIRECT_FIELD_NAME not in request.POST):
context[REDIRECT_FIELD_NAME] = reverse('admin:index', current_app=self.name)
context[REDIRECT_FIELD_NAME] = 'http://127.0.0.1:8000/test_page'
Теперь, если вы посетите http://127.0.0.1/admin и не войдете в систему, он покажет вам сайт для входа. После входа в систему он перенаправит вас на страницу test_page.
Если вы снова посетите /admin, это покажет вам страницу администратора.