Проект Django перенаправляет на URL /accounts/login/, несмотря на настройку пользовательских URL
Я работаю над проектом Django и столкнулся с проблемой, когда функциональность входа в систему перенаправляет на URL-адреса типа /accounts/login/ или /accounts/profile/, которые я не настраивал.
Я настроил представления входа и регистрации и удалил стандартные URL-адреса аутентификации Django. Однако сервер, похоже, перенаправляет на эти пути по умолчанию.
Вот подробности проблемы:
Настройка проекта:
Версия Django: 5.1 Реализованы пользовательские представления для входа, регистрации и выхода. urls.py в моем приложении не включает URL-адреса аутентификации Django по умолчанию. urls.py в приложении (firstapp/urls.py):
python
from django.urls import path
from . import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path("", views.index, name="index"),
path("index/", views.index, name="index"),
path("error/", views.custom_404, name="error"),
path("login/", views.login, name="login"),
path("register/", views.register, name="register"),
path("profile/", views.profile, name="profile"),
path("logout/", views.logout, name="logout"),
# Remove or comment out the line below
# path("accounts/", include("django.contrib.auth.urls")),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# Remove or comment out handler404 if not using custom 404 view
# handler404 = views.custom_404
Файл видов (views.py):
python
from django.shortcuts import render, redirect
from django.contrib.auth import login as auth_login, logout as auth_logout
from django.contrib.auth import update_session_auth_hash
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User, auth
from .models import Customer
from django.contrib import messages
from .forms import CustomerUpdateForm, CustomerPasswordChangeForm
Просматривает код...
Описание проблемы: Несмотря на настройку пользовательских URL и удаление включения стандартных URL аутентификации Django, при попытке входа в систему приложение перенаправляет на /accounts/login/ и /accounts/profile/, что приводит к ошибке 404, как показано на скриншоте введите описание изображения здесь.
Вопрос:
Почему мой проект Django перенаправляет на URL /accounts/login/ и /accounts/profile/, и как я могу убедиться, что он использует только пользовательские URL, которые я определил? Есть ли еще какие-либо настройки или конфигурации, которые я могу упустить и которые могут вызвать эту проблему?
вот скриншот ошибки! введите описание изображения здесь
Заранее благодарю за помощь!
Я пытался искать проблему, я искал на ChatGPT и Claude AI, я пытался добавить url в свой путь, но это не сработало
Я думаю, что это будет полезно для вас:
Вам нужно украсить свои представления, используя login_not_required
from django.contrib.auth.decorators import login_not_required
@login_not_required
def public_view(request):
return HttpResponse("This is a public view accessible without login.")
# Using Class Based Views
from django.utils.decorators import method_decorator
from django.views.generic import TemplateView
@method_decorator(login_not_required, name='dispatch')
class PublicView(TemplateView):
...
Для получения дополнительной информации читайте документацию здесь