Переопределите учетные записи/логин/ в 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/...) -