[31/Jan/2024 16:56:01] “GET /registration/login/ HTTP/1.1” 404 2240 Not Found: /tools/registration/login/
404 Not Found エラーは、指定されたURLが見つからないことを示しています。エラーログによれば、/registration/login/ が見つからないと報告されています。
Djangoのログインビューでは、デフォルトで /registration/login/ のURLが使用されています。しかし、あなたのプロジェクトでこのURLパターンを設定していないため、このエラーが発生しています。
対応策として、urls.py にログイン用のURLパターンを設定する必要があります。以下は、その一例です:
python
# tools/urls.py
from django.urls import path
from .views import CustomLoginView, home, your_protected_view
urlpatterns = [
path('login/', CustomLoginView.as_view(), name='login'), # ログインページ
path('home/', home, name='home'), # ホームページ
path('protected/', your_protected_view, name='protected_view'), # 保護されたビュー
# 他のURLパターンも追加できます
]
この例では、/tools/login/ をログインページに、/tools/home/ をホームページに、/tools/protected/ を保護されたビューに対応づけています。これに合わせて CustomLoginView の login.html のパスも修正してください。
そして、プロジェクトのルートの urls.py で tools.urls をインクルードすることを忘れずに:
python
# your_project/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('tools/', include('tools.urls')), # toolsアプリのurlsをインクルード
# 他のURLパターンも追加できます
]
これで、正しいURLでログインページにアクセスできるようになるはずです。

ディスカッション
コメント一覧
まだ、コメントがありません