Django 사용자 인증 Auth 구성 요소 사용
5098 단어 Django사용자 인증Auth 구성 요소
Django 사용자 인증(Auth)구성 요 소 는 일반적으로 사용자 의 로그 인 등록 에 사 용 됩 니 다.현재 사용자 가 합 법 적 인지 판단 하고 로그 인 성공 이나 실패 페이지 로 이동 합 니 다.
Django 사용자 인증(Auth)구성 요 소 는 auth 모듈 을 가 져 와 야 합 니 다.
#
from django.contrib import auth
#
from django.contrib.auth.models import User
반환 값 은 사용자 대상 입 니 다.사용자 대상 을 만 드 는 세 가지 방법:
username:사용자 이름.
password:비밀번호.
이메일:메 일(create슈퍼 유저 방법 은 이메일 을 하나 더 추가 해 야 합 니 다.
from django.contrib.auth.models import User
User.objects.create(username='runboo',password='123')
from django.contrib.auth.models import User
User.objects.create(username='runbooo',password='123')
from django.contrib.auth.models import User
User.objects.create(username='runboooo',password='123',email='[email protected]')
사용자 이름과 비밀 번 호 를 검증 하려 면 auth 가 필요 합 니 다.user 표 에서 사용자 대상 을 필터 합 니 다.
사용 하기 전에 가 져 올 것:
from django.contrib import auth
인자:username:사용자 이름
비밀번호
**반환 값:**검증 에 성공 하면 사용자 대상 으로 돌아 가 고 반대로 None 로 돌아 갑 니 다.
실례
**def** login(request):
**if** request.method == "GET":
**return** render(request, "login.html")
username = request.POST.get("username")
password = request.POST.get("pwd")
valid_num = request.POST.get("valid_num")
keep_str = request.session.get("keep_str")
**if** keep_str.upper() == valid_num.upper():
user_obj = auth.authenticate(username=username, password=password)
**print**(user_obj.username)
인증 에 성공 한 사용자 에 게 session 을 추가 하고 request.user 를 사용자 대상 으로 할당 합 니 다.
로그 인 은 login()방법 을 사용 합 니 다.
사용 하기 전에 가 져 올 것:
from django.contrib import auth
인자:request:사용자 개체
반환 값:None
실례
**def** login(request):
**if** request.method == "GET":
**return** render(request, "login.html")
username = request.POST.get("username")
password = request.POST.get("pwd")
valid_num = request.POST.get("valid_num")
keep_str = request.session.get("keep_str")
**if** keep_str.upper() == valid_num.upper():
user_obj = auth.authenticate(username=username, password=password)
**print**(user_obj.username)
**if** **not** user_obj:
**return** redirect("/login/")
**else**:
auth.login(request, user_obj)
path = request.GET.get("next") **or** "/index/"
**print**(path)
**return** redirect(path)
**else**:
**return** redirect("/login/")
로그아웃 사용자 가 logout()방법 을 사용 하려 면 session 정 보 를 비우 고 request.user 를 익명 사용자 로 할당 해 야 합 니 다.
사용 하기 전에 가 져 올 것:
from django.contrib import auth
인자:request:사용자 개체
반환 값:None
실례
def logout(request):
ppp = auth.logout(request)
print(ppp) # None
return redirect("/login/")
장식 기 를 설정 하여 로그 인 에 성공 해 야 접근 할 수 있 는 페이지 에 장식 기 를 통일 적 으로 추가 합 니 다.사용 하기 전에 가 져 올 것:
from django.contrib.auth.decorators import login_required
실례
**from** django.contrib.auth.decorators **import** login_required @login_required
**def** index(request):
**return** HttpResponse("index 。。。")
어느 페이지 에서 접근 할 지 설정 하고 로그 인 에 성공 하면 어느 페이지 로 돌아 갑 니 다.strong>해석:
django 는 사용자 가 페이지 에 접근 할 때 로그 인 하지 않 은 상태 라면 로그 인 페이지 로 돌아 갑 니 다.
이 때 이 로그 인 페이지 의 URL 뒤에 인자 가 있 습 니 다:next=사용자 가 방문 한 페이지 의 URL 입 니 다.
따라서 사용자 로그 인 에 성공 한 후 재 설정 한 URL 을 next 매개 변수 값 으로 설정 합 니 다.
단,사용자 가 처음부터 로그 인 페이지 logi 를 입력 하면 request.GET.get("next")에서 값 을 찾 을 수 없 기 때문에 뒤에 or 를 추가 하면 사용자 정의 로 돌아 오 는 페이지 를 설정 할 수 있 습 니 다.
실례
\# login、get() ,path
path = request.GET.get("next") **or** "/index/"
**return** redirect(path)
Django 사용자 인증 Auth 구성 요소 의 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Django 사용자 인증 Auth 구성 요소 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.