django 사용자 로그인 및 검증

4131 단어 django
1. 로그인 페이지는 다음과 같다.
{% load staticfiles %}


  
    
    
    
    
    
    
    

    Signin Template for Bootstrap

    
    

 
  

  

    

2, 한 사용자 로그인
보기에서 사용자를 로그인하려면 login () 을 사용하십시오.HttpRequest 객체와 User 객체를 모두 수락합니다.login()은 Django의 세션 프레임워크를 사용하여 사용자의 ID를 세션에 저장합니다.
익명 세션에 설정된 모든 데이터는 사용자가 로그인한 세션에서 기억됩니다.
def signin(request):
    username = request.POST.get('username')
    password = request.POST.get('password')
    log = log_config()
    log.debug(request.POST)
    log.debug("username:%s password:%s" % (username,password))
    user = authenticate(username=username,password=password)
    if user is not None:
        if user.is_active:
            login(request,user)
            return redirect('/dashboard/')
        else:
            return HttpResponse("login.html")
    else:
        t = loader.get_template("login.html")
        return HttpResponse(t.render())

먼저 authenticate()를 호출합니다.
사용자가 수동으로 로그인할 때login () 을 호출하기 전에authenticate () 를 통해 사용자를 인증해야 합니다.authenticate () 는 User에 어떤 인증 백그라운드가 이 사용자를 성공적으로 인증했는지 속성을 설정하고 이 정보는 뒤에 로그인하는 과정에서 필요합니다.데이터베이스에서 직접 꺼내는 사용자에게 로그인하려고 하면 오류가 발생합니다.3. 한 사용자 로그아웃
하나를 올리려면django를 통과했습니다.contrib.auth.login () 로그인한 사용자는 보기에서django를 사용할 수 있습니다.contrib.auth.logout().HttpRequest 객체를 수신하고 값을 반환하지 않습니다.
def logout_view(request):
        logout(request)
        t = loader.get_template("login.html")
        return HttpResponse(t.render())

4. 로그인한 사용자만 접근 가능
1) is 사용authenticated()
페이지 접근을 제한하는 간단하고 원시적인 방법은 Request를 검사하는 것입니다.user.is_authenticated() 및 로그인 페이지로 리디렉션:
def dashboard(request):
        if not request.user.is_authenticated():
                return redirect('/index/')
        else:
                t = loader.get_template("dashboard.html")
                return HttpResponse(t.render())

2)login 사용required 장식기
@login_required
def dashboard(request):
        t = loader.get_template("dashboard.html")
        return HttpResponse(t.render())

좋은 웹페이지 즐겨찾기