Переопределите учетные записи/логин/ в Django

Так что я использую django.contrib.auth.urls и я бы предпочел продолжить это. Но я хочу, чтобы урл accounts/login был заменен на users/c-login или что-то еще.

Я бы очень хотел понять, почему это не работает:

my urls.py (проект):

from core import views

urlpatterns = [
    path("admin/", admin.site.urls),
    path("accounts/", include("django.contrib.auth.urls")),
    path("", include("core.urls")),
    path("user/", include("user.urls")),
    path("accounts/login", views.atest, name="login"),
    path("accounts/login/", views.atest, name="login"),
]

Идея заключалась в том, что

path("accounts/login/", views.atest, name="login"),

должен «заменить» урлы django auth.

views.py пользователь app:

def atest(request):
    return redirect("c-login")

И пользовательское приложение login views.py:

def custom_login(request):
    template_name = "registration/login.html"

Любая помощь приветствуется. Спасибо

Комментарий от raphael отвечает на вопрос на 100%! Django просматривает ваши шаблоны url по порядку, пока не найдет один подходящий, поэтому path(«accounts/login», views.atest, name=«login») никогда не будет виден, потому что path(«accounts/», include(«django.contrib.auth.urls»)) подходит первым. Если вы хотите создать страницу регистрации пользователя или стилизовать страницу входа, то вам это не нужно.

Загляните на developer.mozilla.org/en-US/docs/Learn/Server-side/Django/... (особенно на developer.mozilla.org/en-US/docs/Learn/Server-side/Django/...) -

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