Django 인증 – 사용자 지정 사용자에 대한 로그인/로그아웃/가입을 구축하는 방법
3081 단어 djangoauthentication
Django 인증 – 사용자 지정 사용자에 대한 로그인/로그아웃/가입을 구축하는 방법
사용자 인증을 구축하는 것은 쉽지 않으며 대부분의 경우 복잡합니다. 다행스럽게도 Django에는 인증 시스템을 빠르게 만드는 데 도움이 되는 강력한 내장 기능User authentication이 있습니다. 기본적으로 Django
auth
앱의 사용자 모델에는 사용자 이름, 비밀번호, 이메일, 이름, 성... 필드가 포함되어 있습니다. 그러나 자체 사용자 정의 사용자 모델을 사용하면 사용자 프로필을 보다 편안하게 처리할 수 있습니다. 예를 들어 full_name 또는 age 필드를 더 추가하려면 어떻게 해야 합니까?이 자습서에서는
AbstractBaseUser
: AbstractUser
의 하위 클래스를 사용하여 Django(버전 2.1)에서 인증을 사용자 지정하는 방법을 살펴보겠습니다. 모든 사용자 인증 데이터는 데이터 소스를 구성하는 방법을 보여줄 MySQL/PostgreSQL 데이터베이스에 저장됩니다.매우 흥미로울 것입니다. 단계를 살펴보겠습니다.
Django 사용자 지정 인증 프로젝트 개요
목표
이름 및 나이와 같은 사용자 지정 필드를 사용하여 로그인/로그아웃/가입이 있는 인증 앱으로 Dajngo 프로젝트를 빌드합니다.
커스텀
signup()
함수를 코딩하고 login()
및 logout()
는 Django auth
에 의해 자동으로 구현됩니다.모든 사용자 데이터는 MySQL/PostgreSQL 데이터베이스에 저장됩니다.
프로젝트 구조
다음 단계에서 만들 폴더 및 파일 구조는 다음과 같습니다.
Django 사용자 지정 인증 프로젝트 설정
다음 명령을 사용하여 DjangoAuth라는 Django 프로젝트를 만듭니다.
django-admin startproject DjangoAuth
다음 명령을 실행하여 프로젝트 내에 authen이라는 새 Django 앱을 만듭니다.
cd DjangoAuth
python manage.py startapp authen
upload/apps.py를 열면 Django 앱과 해당 구성을 나타내는
AuthenConfig
클래스(django.apps.AppConfig
의 하위 클래스)를 볼 수 있습니다.
from django.apps import AppConfig
class AuthenConfig(AppConfig):
name = 'authen'
settings.py를 열고
INSTALLED_APPS
를 찾은 후 다음을 추가합니다.
INSTALLED_APPS = [
...
'authen.apps.AuthenConfig',
]
데이터베이스와 함께 작동하도록 Django 프로젝트 구성
MySQL 데이터베이스
Python MySQL 클라이언트 설치 및 가져오기
MySQL 데이터베이스와 함께 작동하려면 Python MySQL 클라이언트를 설치해야 합니다.
이 자습서에서는 pymysql:
pip install pymysql
을 사용합니다.설치가 성공적으로 완료되면 DjangoAuth/init.py에서 이 모듈을 가져옵니다.
https://grokonez.com/django/django-authentication-login-example-logout-signup-for-custom-user-tutorial
Django 인증 – 사용자 지정 사용자에 대한 로그인/로그아웃/가입을 구축하는 방법
Reference
이 문제에 관하여(Django 인증 – 사용자 지정 사용자에 대한 로그인/로그아웃/가입을 구축하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/loizenai/django-authentication-how-to-build-login-logout-signup-for-custom-user-1o51텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)