目次
前提
- Djangoがインストールできていること
- Djangoの一般的な使い方が理解できていること
- Djangoの環境はコンテナ、仮想化何でもよい。
インストール
まずはpipでインストール。
pip install django-allauth
設定
settings.pyの修正
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
# Already defined Django-related contexts here
# なければ以下を追記
'django.template.context_processors.request',
],
},
},
]
# INSTALLED_APPSに追記。
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.messages',
'django.contrib.sites', # デフォルトで書いていない
'allauth',
'allauth.account',
'allauth.socialaccount', # Socialログインしなくても必要
]
# AUTHENTICATION_BACKENDSを追加。
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
]
# SITE_IDを追記
SITE_ID = 1
# ログイン後のリダイレクトURL
LOGIN_REDIRECT_URL = '/'
# ログアウト後のリダイレクトURL
ACCOUNT_LOGOUT_REDIRECT_URL = '/accounts/login/'
urls.pyに追記
urlpatterns = [
path('accounts/', include('allauth.urls')),
]
マイグレーション
allauthのモデルを作成する。
python manage.py migrate
カスタムユーザモデルを使用する場合
以下の記事を参考にしてください。
DjangoでCustomUser+allauthを使用した認証