{ login }

  • 장고 - Email 로그인 기능 추가

    |
    • 장고는 기본적으로 username으로 로그인하는 기능 제공
    • username, email 둘 중 하나로 로그인 하도록 커스터마이징 필요
    • 커스텀 모델 백엔드를 추가하여 email, username 로그인 기능 추가 가능
    • 로그인 기능 제어하는 것은 AUTHENTICATION_BACKENDS에 설정된 모델 백엔드를 통해 이루어진다.
  • 장고 - 로그인 권한 부여방법

    |

    방법1. login_required 클래스 사용

    • login_required 클래스를 사용하여 로그인이 필요한 부분에 @login_required 데코레이터를 사용한다.
      • 경로 : (앱 이름) > views.py
        1
        2
        3
        4
        # login_required 클래스 호출
        from django.contrib.auth.decorators import login_required
        # login_required 데코레이터 사용
        @login_required
  • 장고 - SNS 네이버 로그인 기능 학습

    |

    django allauth 기능 사용

    1. django-allauth 설치

    • pip install django-allauth

    2. settings.py 수정

    • 아이디, 이메일, 소셜 로그인 가능하도록 설정
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      AUTHENTICATION_BACKENDS = (
      'django.contrib.auth.backends.ModelBackend',
      'allauth.account.auth_backends.AuthenticationBackend',
      )

      INSTALLED_APP = [
      'django.contrib.sites',
      # 소셜 로그인을 관리하기 위해 기본으로 생기는 앱들
      'allauth',
      'allauth.account',
      'allauth.socialaccount',
      'allauth.socialaccount.providers.naver',

      SITE_ID = 1

      # 로그인 후에 이동할 경로 추가
      LOGIN_REDIRECT_URL = '/'
      ]