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, это покажет вам страницу администратора.

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