Django allauthでハマったこと

2022/04/03

Django開発入門の書籍を購入し勉強していたが、allauthを使ってサインアップ、ログインなどの画面を表示しようとするとどうしても、allauthのデフォルトテンプレートが読み込まれてしまっていた。

各モジュールのバージョンは以下の通り。

  • Python 3.10
  • Django 4.0.3
  • django-allauth 0.50.0

本に書かれているバージョンを使ってないのもあるし、もしかすると根本的な設定が間違っているのかもしれないが・・・
プロジェクトの階層は以下の通り。

階層

ひとまず解決した方法
「private_diary/settings_common.py」を編集

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
      os.path.join(BASE_DIR, 'accounts', 'templates')
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.static',
            ],
        },
    },
]

6行目に「os.path.join(BASE_DIR, 'accounts’, 'templates’)」を追加することにより、デフォルトではないテンプレートを読み込んでくれるようになった

参考にしたサイト
https://qiita.com/s-katsumata/items/b667c81a127223d2e868