LoginSignup
0
1

Django Allauth実装後にaccounts/~にアクセスするとルーティングエラーが発生する

Posted at
User
django.urls.exceptions.NoReverseMatch: Reverse for 'diary_list ' not found. 'diary_list ' is not a valid view function or pattern name.
2024-02-13 21:46:14,322	[ERROR]	C:\Users\genki\venv_private_diary\Lib\site-packages\django\core\servers\basehttp.py(Line:212)	"GET /accounts/signup/ HTTP/1.1" 500 134792

そもそもこれはルーティングが間違っている可能性大
diary_listは認証が完了しているユーザーにしか表示されないため、accounts/~にアクセスしたときは認証前であることからdiary_listがあるページに飛ぶのがおかしい

調べた結果settings.pyの記述順がいけなかった

settings.py
# 間違った記述方法

AUTHENTICATION_BACKENDS = (
    'allauth.account.auth_backends.AuthenticationBackend',

    # 一般ユーザー用

    'django.contrib.auth.backends.ModelBackend',

    # 管理サイト用
)

SITE_ID = 1
settings.py
# 正しい記述方法

SITE_ID = 1

AUTHENTICATION_BACKENDS = (
    'allauth.account.auth_backends.AuthenticationBackend',

    # 一般ユーザー用

    'django.contrib.auth.backends.ModelBackend',

    # 管理サイト用
)

SITE_IDというのはdjango-allauthで利用するdjango.contrib.sitesを使うためにサイト識別用のIDである
このサイト識別用IDの評価前に認証設定(AUTHENTICATION_BACKENDS)が記載されていたため、ルーティングエラーが発生していた

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1