Django пользовательская страница входа в систему администратора
У меня есть пользовательский механизм аутентификации для пользователей, и я хочу использовать его для админки django. Все прекрасно работает для аутентифицированных пользователей, но если неаутентифицированный пользователь открывает url /admin, он перенаправляется на /admin/login со стандартной страницей входа в админку. Я хочу перенаправить на auth/sign-in или заблокировать страницу.
urlpatterns = [
path('admin/', admin.site.urls),
path('admin/login', SignInView.as_view(), name='admin/login'),
...
Переопределение url как в блоке кода не работает. Есть идеи?
Определите их в вашем файле settings.py.
- LOGIN_REDIRECT_URL
- LOGIN_URL
- LOGOUT_REDIRECT_URL
Пример:
LOGIN_REDIRECT_URL = '/accounts/dashboard'
LOGIN_URL = '/accounts/signin'
LOGOUT_REDIRECT_URL = '/accounts/signin'
Я думаю, что url-паттерны ищутся в порядке, используя первое совпадение, а не переписываются более поздними паттернами, так что вам может повезти больше с:
urlpatterns = [
path('admin/login', SignInView.as_view(), name='admin/login'),
path('admin/', admin.site.urls),
...
(я бы, вероятно, также избегал косой черты в name=""
, чтобы избежать путаницы)