Django에 allauth 설치하기
Oct. 9, 2021, 10:42 p.m.
allauth는 다양한 서비스를 통한 회원가입을 편리하게 해주는 Django의 익스텐션 입니다. 대표적으로 구글, 페이스북, 카카오, 네이버 등등으로 로그인을 쉽고 간편하게 처리할 수 있게 해주는데요, 오늘은 Django 프로젝트에 allauth를 설치해보도록 하겠습니다.
1. allauth 설치
Ubuntu 환경에서 설치해보겠습니다.
Ubuntu 터미널에 들어가서 pip를 통해 allauth를 설치해줍니다.
pip3 install django-allauth
2. settings.py 수정
설치가 완료되면 프로젝트 폴더에 있는 settings.py
에 들어가서 앱을 연동해야합니다.
먼저 템플릿 설정을 해주겠습니다.
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
# Already defined Django-related contexts here
# `allauth` needs this from django
'django.template.context_processors.request',
],
},
},
]
TEMPLATES
를 찾아서 OPTIONS
에 'django.template.context_processors.request'
를 추가해줍니다.
그다음 로그인 백엔드 설정을 해줍니다.
AUTHENTICATION_BACKENDS = [
...
# Needed to login by username in Django admin, regardless of `allauth`
'django.contrib.auth.backends.ModelBackend',
# `allauth` specific authentication methods, such as login by e-mail
'allauth.account.auth_backends.AuthenticationBackend',
...
]
AUTHENTICATION_BACKENDS
를 찾아서 'allauth.account.auth_backends.AuthenticationBackend'
를 추가하거나 없다면 위의 코드 전체를 settings.py
에 추가해줍니다.
그리고 앱을 추가해야합니다.
INSTALLED_APPS = [
...
# The following apps are required:
'django.contrib.auth',
'django.contrib.messages',
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
]
INSTALLED_APPS
를 찾아서 위의 앱을 추가해줍니다. 이미 존재하면 그대로 두면 됩니다!
마지막으로 SITE 설정에 필요한 변수 SITE_ID
를 추가하겠습니다. INSTALLED_APPS
바로 밑에 SITE_ID = 1
를 추가해주세요.
INSTALLED_APPS = [
...
# The following apps are required:
'django.contrib.auth',
'django.contrib.messages',
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
]
SITE_ID = 1
settings.py
설정이 완료되었습니다.
3. url.py 설정하기
allauth가 사용하는 url을 등록해주어야 합니다.
프로젝트의 루트 url.py
에 들어가서 urlpatterns
에 아래의 path를 추가해주세요.
urlpatterns = [
...
path('accounts/', include('allauth.urls')),
...
]
4. admin 설정하기
마지막으로 장고 admin설정을 해주면 끝이 납니다.
python3 manage.py migrate
를 실행해서 migration을 진행해 준 다음 서버를 실행해서 '/admin/' 에 접속해서 관리자 페이지에 접속합시다.
SITES에 들어가서 사이트의 도메인 주소를 등록합시다.
사이트 도메인 주소를 등록하면 allauth의 설치가 완료됩니다.
설치가 완료되었는지 확인하려면 '/accounts/login/' 에 접속해보세요. 로그인 화면이 뜬다면 성공입니다. allauth의 설치를 완료하였습니다.
allauth Django