반응형
[Project] Django allauth를 이용한 소셜 로그인 - 기본 설정
📚 패치지 설치
pip install django-allauth
📚 settings.py 내용 추가
📑 TEMPLATES - context_processors
- TEMPLATES안에 context_processors 부분에 추가하여 준다.
'django.template.context_processors.request',
완성 코드
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, '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',
],
},
},
]
📑 AUTHEMTICATION_BACKENDS
- AUTHEMTICATION_BACKENDS 부분을 아래와 같이 추가하여 준다.
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',
]
SITE_ID = 1
LOGIN_REDIRECT_URL = '/'
📑 INSTALLED_APPS
- INSTALLED_APPS에 아래와 같은 내용들을 추가하여 준다.
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
- 사용하려는 소셜 로그인을 골라서 INSTALLED_APPS에 추가하여 준다.
'allauth.socialaccount.providers.google',
'allauth.socialaccount.providers.instagram',
'allauth.socialaccount.providers.kakao',
'allauth.socialaccount.providers.naver',
📚 urls.py 내용 추가
settings.py 와 같은 디렉터리에 있는 urls.py에 아래의 내용 추가- accounts/로 시작하는 요청들을 allauth에 있는 url들을 이용해서 처리할 수 있습니다.
urlpatterns = [
...
path('accounts/', include('allauth.urls')),
...
]
📚 py manage.py migrate
admin 페이지에 들어가면 아래와 같은 테이블들이 생성되어있는 것을 볼 수 있습니다.
이후 네이버,구글등을 이용하여 소셜로그인 기능을 사이트에 연동하는 내용은 다음 글에 작성하겠다.
반응형
'Django > DRF' 카테고리의 다른 글
[Django Tutorial] 가상환경, 프로젝트 만들기 (1) | 2023.01.06 |
---|---|
[Project] Django allauth를 이용한 소셜 로그인 - Naver (0) | 2023.01.05 |
[Project] Django createsuperuser 입력 값 지정 (0) | 2023.01.03 |
[Project] Django Form (장고 폼) (0) | 2023.01.02 |
[Project] 장고 admin 페이지 css 오류 (0) | 2022.12.30 |