Not Found: /accounts/profile/ [31/Jan/2024 17:11:16] “GET /accounts/profile/ HTTP/1.1” 404 2234

Djangoのデフォルトの動作では、ユーザーがログインすると、/accounts/profile/ というデフォルトのプロファイルページにリダイレクトされることがあります。ただし、/accounts/profile/ に対応するビューやテンプレートが存在しない場合、404エラーが発生します。

このデフォルトの挙動を変更するには、以下のいくつかの方法があります。

  1. ログイン後のリダイレクトURLの設定:
    settings.py ファイルで、LOGIN_REDIRECT_URL を設定してログイン後のリダイレクト先を指定します。

    python
    # settings.py LOGIN_REDIRECT_URL = 'your_redirect_url' # ログイン後にリダイレクトするURLを指定
  2. デフォルトのプロファイルURLの設定:
    urls.py ファイルで、/accounts/profile/ に対応するビューやテンプレートを設定します。

    python
    # urls.py from django.urls import path from .views import your_profile_view # プロファイル表示用のビューをインポート urlpatterns = [ # 他のURLパターン path('accounts/profile/', your_profile_view, name='profile'), ]

    または、デフォルトのプロファイルURLを無効にすることもできます。urls.pyinclude('django.contrib.auth.urls') を使っている場合、そのパターンを無効にすることでデフォルトの挙動を変更できます。

    python
    # urls.py from django.contrib.auth import views as auth_views from django.urls import path, include urlpatterns = [ # 他のURLパターン path('accounts/', include('django.contrib.auth.urls')), # デフォルトのパターンを無効にする ]

これらの手順で、ログイン後のリダイレクト先を変更したり、デフォルトのプロファイルURLを無効にしたりできます。必要に応じて、プロファイル表示用のビューを実装するか、リダイレクト先を指定してください。

未分類

Posted by ぼっち