[31/Jan/2024 16:56:01] “GET /registration/login/ HTTP/1.1” 404 2240 Not Found: /tools/registration/login/

2024年6月23日

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/ を保護されたビューに対応づけています。これに合わせて CustomLoginViewlogin.html のパスも修正してください。

そして、プロジェクトのルートの urls.pytools.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でログインページにアクセスできるようになるはずです。

未分類

Posted by ぼっち