BLOG
Python

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



Search