Not Found: /accounts/profile/ [31/Jan/2024 17:11:16] “GET /accounts/profile/ HTTP/1.1” 404 2234
Djangoのデフォルトの動作では、ユーザーがログインすると、/accounts/profile/ というデフォルトのプロファイルページにリダイレクトされることがあります。ただし、/accounts/profile/ に対応するビューやテンプレートが存在しない場合、404エラーが発生します。
このデフォルトの挙動を変更するには、以下のいくつかの方法があります。
-
ログイン後のリダイレクトURLの設定:
settings.pyファイルで、LOGIN_REDIRECT_URLを設定してログイン後のリダイレクト先を指定します。python
# settings.py LOGIN_REDIRECT_URL = 'your_redirect_url' # ログイン後にリダイレクトするURLを指定 -
デフォルトのプロファイル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.pyでinclude('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を無効にしたりできます。必要に応じて、プロファイル表示用のビューを実装するか、リダイレクト先を指定してください。

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