Django 사용자 인증 Auth 구성 요소 사용

Django 사용자 인증(Auth)구성 요소
Django 사용자 인증(Auth)구성 요 소 는 일반적으로 사용자 의 로그 인 등록 에 사 용 됩 니 다.현재 사용자 가 합 법 적 인지 판단 하고 로그 인 성공 이나 실패 페이지 로 이동 합 니 다.
Django 사용자 인증(Auth)구성 요 소 는 auth 모듈 을 가 져 와 야 합 니 다.

#     
from django.contrib import auth

#      
from django.contrib.auth.models import User
반환 값 은 사용자 대상 입 니 다.
사용자 대상 을 만 드 는 세 가지 방법:
  • create():일반 사용 자 를 만 듭 니 다.비밀 번 호 는 명문 입 니 다
  • create_user():일반 사용 자 를 만 듭 니 다.비밀 번 호 는 비밀문서 입 니 다
  • create_슈퍼 유저():슈퍼 사용 자 를 만 듭 니 다.비밀 번 호 는 비밀문서 입 니 다.메 일 이메일 인 자 를 하나 더 보 내야 합 니 다
  • 인자:
    username:사용자 이름.
    password:비밀번호.
    이메일:메 일(create슈퍼 유저 방법 은 이메일 을 하나 더 추가 해 야 합 니 다.
    
    from django.contrib.auth.models import User 
    User.objects.create(username='runboo',password='123')
    img
    
    from django.contrib.auth.models import User 
    User.objects.create(username='runbooo',password='123')
    img
    
    from django.contrib.auth.models import User 
    User.objects.create(username='runboooo',password='123',email='[email protected]')
    img
    사용자 이름과 비밀 번 호 를 검증 하려 면 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)
    img
    인증 에 성공 한 사용자 에 게 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/")
    img
    로그아웃 사용자 가 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)
    img
    Django 사용자 인증 Auth 구성 요소 의 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Django 사용자 인증 Auth 구성 요소 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기