django-allauth 초보자 가이드

Django로 웹 개발을 시작했을 때. 나는 django-allauth 패키지에 대해 완전히 몰랐습니다. MVC와 Django의 일부 핵심 부분에 대한 지식이 있었습니다. 대학 프로젝트 중에 데모 프로젝트를 진행하고 사용자 인증을 모두 수동으로 수행했습니다. 그때 한 선배가 django-allauth를 사용하라고 조언했습니다. 몇 분 안에 조사를 하고 내 프로젝트로 django-allauth를 구성했습니다. 저에게는 활력을 주는 일이었습니다.

등록, 로그인, 비밀번호 분실 및 재설정, 사용자 관리에 많은 시간을 절약할 수 있기 때문입니다. 또한 Google, Facebook, LinkedIn, tumblr 등과 같은 광범위한 타사 소셜 인증을 통합할 수 있습니다.

여기에서는 django-allauth를 Django 프로젝트와 통합하는 것이 얼마나 간단한지 보여드리겠습니다.

먼저 virtualenv를 사용하여 가상 환경을 설정하고 활성화해야 모든 새로운 Python 패키지 설치가 전역 설치 대신 해당 환경으로 이동합니다.

가상 환경 설정을 완료하면 기본 Django 애플리케이션을 설치하고 구성합니다.

그런 다음 가상 환경의 Python Package Index(pip)에서 최신django-allauth 패키지를 설치합니다.

pip install django-allauth


성공적으로 설치한 후 프로젝트에서 사용할 준비가 되었습니다.
settings.py의 allauth에서 INSTALLED_APPS 모듈을 구성하므로 INSTALLED_APPS는 다음과 같습니다.

INSTALLED_APPS = [
   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',

   # Add following thing on your code
   'django.contrib.sites',
   'allauth',
   'allauth.account',
   'allauth.socialaccount',
   # For extra provider i will write another post 
]



allauth 백엔드 및 site_id를 끝에 또는 settings.py의 아무 곳에나 추가합니다.

AUTHENTICATION_BACKENDS = [
   # it required to login by username in django admin panel
   'django.contrib.auth.backends.ModelBackend',

   'allauth.account.auth_backends.AuthenticationBackend',  
]
# SITE_ID FROM django site framework
SITE_ID = 1

# redirect url after successful login
LOGIN_REDIRECT_URL = 'index'


The “sites” framework에서 SITE_ID에 대한 정보를 얻을 수 있습니다.
모른다면 site_id가 무엇입니까? 수퍼 유저를 생성하여 관리자 패널로 이동하십시오. 그리고 다음 URLhttp://localhost:8000/admin/sites/site/로 이동합니다(귀하의 경우 최상위 도메인이 다를 수 있음). 아마도 1일 것입니다. 삭제하지 않은 경우 동일한 도메인으로 새 항목을 추가하십시오.

이제 프로젝트를 실행하려고 하면 프로젝트에서 보류 중인 일부 마이그레이션 파일을 볼 수 있습니다.

다음 관리 명령을 실행하여 마이그레이션할 수 있으므로 모든 인증 관련 테이블이 생성됩니다.

~$ python3 manage.py migrate

settings.py에서 모든 작업이 완료되면 프로젝트urls.py에서 모든 allauth 관련 URL을 설정해야 합니다.

from django.contrib import admin
from django.urls import path
from django.urls import include #added to include allauth urls

urlpatterns = [
   path('admin/', admin.site.urls),
   path('', include('src.core.urls')), # other apps URL

   # allauth urls
   path('accounts/', include('allauth.urls')), 
]



documentation을 기반으로 allauth URL에 대한 계정/접미사를 추가했습니다. 그러나 프로젝트의 요구 사항을 충족하는 관련 이름을 자유롭게 사용할 수 있습니다.

이제 프로젝트가 django all-auth를 사용하여 테스트할 준비가 되었습니다.
브라우저에서 URLhttp://localhost:8000/accounts/signup/을 누르면 다음과 같은 기본 제공 기본 등록 양식이 표시됩니다.
http://localhost:8000/accounts/는 allauth 앱에서 사용할 수 있는 모든 URL을 표시하고 debug=True

템플릿 사용자 정의 및 소셜 미디어 통합이 다음 게시물에서 다룰 템플릿 디렉토리를 재정의하여 allauth에서 사용 가능한 모든 템플릿(HTML 파일)을 편집할 수 있습니다.

이번 포스팅은 여기까지입니다.🚀
의견을 환영하고 감사합니다!

좋은 웹페이지 즐겨찾기