Django/authentification: как сделать страницу входа в систему = главной странице?

Я разрабатываю веб-приложение Django, используя бэкенд аутентификации Django. Оно работает без необходимости определять какие-либо представления или формы, только шаблон для 'bootstrap'.

Но я хотел бы изменить url 'navigation' и, возможно, шаблон 'redesign', используя django-crispy-form.

Но первый шаг - сделать так, чтобы пользователь получал прямой доступ к странице входа, когда 'root' url (https://<my_domain>/) вводится в адресную строку навигации.

В настоящее время пользователь получает доступ к главной странице моего веб-приложения, которая содержит кнопку входа, перенаправляющую на https://<my_domain>/registration/login

Нужно ли мне переопределить все представления аутентификации (и формы для дизайна) и изменить url по мере необходимости?

Или есть самый простой способ, возможно, используя settings.py, сделать перенаправление пользователя на страницу входа с корневого url?

проект

- app
   - core
       - settings
           - base.py
           - ...
       - views.py
       - urls.py
   - app1
       - forms.py
       - views.py
       - templates
           - app1
   - registration                             # <= currently no forms.py nor views.py
       - templates
           - registration
              - login.html
              - password_change_done.html
              - ...
   - static
   - templates
       - layout
           - base.html
       - home.html

core/urls.py

urlpatterns = [
    path('', views.home, name='home'),                            # <= 'root' url
    # path('registration/', include('registration.urls')),        # <= registration views override
    path('registration/', include('django.contrib.auth.urls')),
]

core/settings.py

LOGIN_URL = 'home'
LOGIN_REDIRECT_URL = 'home'
LOGOUT_REDIRECT_URL = 'login'

Вы не можете этого иметь:

LOGIN_URL = 'home'

Используйте классическое решение:

LOGIN_URL = 'login'

А затем используйте декоратор, упомянутый @AnkitTiwari, если вы работаете в Function Based Views просто сверху на home представлении:

@login_required
def home_view(request):

Или LoginRequiredMixin в Class Based Views:

from django.contrib.auth.mixins import LoginRequiredMixin

class HomeView(LoginRequiredMixin, View):
Вернуться на верх