인증 모듈 :
당신이 인증 모듈을 사용하려는 경우, 당신은 전체 세트를 사용할 수 있습니다
createsuperuser 장고 관리자 백엔드 관리를 착륙 슈퍼 유저 권한을 가질 수 있습니다 슈퍼 사용자를 생성
장고 인증 모듈이 내장되어 사용자 인증 모듈 :
우리는 사이트 사용자의 시스템을 달성하기 위해 웹 사이트를 디자인하는 불가피한 필요성을 개발하고있다. 우리는, 사용자 등록, 사용자 로그인, 사용자 인증을 포함, 달성 로그 오프, 암호 및 기타 기능을 변경해야 할이 시점에서,이 정말 아직 귀찮은 일이다.
장고는 궁극적 인 완벽을위한 프레임 워크로, 물론, 이러한 고충 사용자의 생각합니다. 그것은 사용자 데이터를 저장하는 테이블을 AUTH_USER하는 강력한 사용자 인증 시스템 --auth, 기본값을 만들었습니다.
사용자 기능 모듈과 관련
... 암호를 변경하려면 사용자 등록 로그인 인증
사용자 테이블과 관련된 auth_user와 테이블을 많이 생성 할 데이터베이스 이주 명령을 실행 한 후에
데이터를 추가 할
슈퍼 유저 로그인 장고 관리자가 할 수있는 슈퍼 사용자를 생성 createsuperuser을 권한 관리 배경
인증 모듈에있어서 공통된
에서 django.contrib의 수입 인증
에서 django.contrib의 가져 오기 인증 USER_OBJ = auth.authenticate (사용자 이름 = 사용자 이름, 암호 = 암호 #은 데이터베이스의 암호 필드는 암호문이기 때문에 사용하면 사용자 입력이 일반 텍스트입니다 얻을해야
auth.login (요청, USER_OBJ) #의 세션에서 사용자 상태 기록
인쇄 (request.user.is_authenticated) #은 사용자가 로그인 한 경우 사용자가 False를 반환입니다 결정
인쇄 (request.user) # 더 auth.login는 익명의 사용자를 가지고하지 않는 경우
에서 django.contrib.auth.decorators 가져 오기 login_required @login_required (LOGIN_URL = ' / XXX / ' ) # 로컬 구성 DEF의 인덱스 (요청) 에 전달 # 글로벌 구성 설정 파일 LOGIN_URL = ' / XXX / '
request.user.check_password (OLD_PASSWORD)
request.user.set_password (여기서 new_password) request.user.save () #은 우리가 발효 저장 저장하거나 안 할 때 암호를 변경
auth.logout (요청) #의 request.session.flush ()
User.objects.create (사용자 이름 = 사용자 이름, 암호 = 암호) #은 사용자 이름을 만든 다음 생성하지 않는 시간을 사용 User.objects.create_user (사용자 이름 = 사용자 이름, 암호 = 암호) #은 일반 사용자 만들기 User.objects.create_superuser을 (사용자 이름 = 사용자 이름, 암호 = 비밀번호, 이메일 = ' [email protected] ' ) #은 슈퍼 사용자의 이메일을 작성 (필수)
첫 번째는 하나의 관계로 하나를 사용하여 고려하지 않는다
두 번째 : 사용 클래스는 상속
구성 파일에 장고를 알려주십시오
정식 기본 테이블을 사용 장고가 더 이상 ORM에게 없지만, 사용자 정의 테이블을 사용
구성 파일 setting.py에서
= AUTH_USER_MODEL ' app01.Userinfo ' # '응용 프로그램 이름. 클래스 이름'
클래스 상속을 사용하여
django.contrib.auth.models 수입에서 AbstractUser
클래스 사용자 정보 (AbstractUser) : #는 단지 혁신 반복 할 수있는 테이블의 원래 필드를 수행하지 마십시오 전화 = models.BigIntegerField () 아바타 = models.CharField (MAX_LENGTH = 32)
마지막으로, 데이터베이스 이주 명령을 수행
모든 인증 모듈 기능은 모든 오히려 AUTH_USER를 사용하는 것보다, 생성 한 테이블을 기반으로