1

다음 코드를 사용하여 로그인했지만 나중에 index.html에서 탐색하여 get_profile()에 액세스하려고 시도하면 ID가 연결되지 않는다고 표시됩니다. 하지만 다음 변수를 출력 할 때는 모두 false입니다. 여기서 내가 뭘 잘못하고 있니?장고 사용자 인증 오류

EDIT

def someotherview(request): 
    logging.debug(request.user.is_authenticated()) #prints false 
    logging.debug(request.user.is_active) #prints false 

로그인

def logon(request): 
    qd = get_request_type(request) 
    try: 
    uname = qd.__getitem__('username') 
    pwd = qd.__getitem__('password') 

    user = authenticate(username = uname, password = pwd) 
    if user is not None: 
    response_dict.update({'yes':1}) 
    logging.debug("labs_home1 ==================") 
    return render_to_response('home/index.html', context_instance=RequestContext(request, {'response_dict':response_dict,'a':1})) 
    else: 
    response_dict.update({'yes':0}) 
    logging.debug("labs_home2 ==================") 
    return render_to_response('registration/login.html', context_instance=RequestContext(request, {'response_dict':response_dict,'a':1}) 

이 또한 내 질문에 대해 살펴 얼마나 이것은 django get_profile error

+0

사용자의 출처는 어디입니까? 로그인 양식이 있습니까? uname 및 pwd는 어디에서 유래 되었습니까? – Jingo

+0

uname 및 HTML 템플릿에서 pwd 원점. 그리고 입력은 양식에서입니다 – Rajeev

답변

2

authenticate은 사용자 이름과 암호가 올바른지 확인하고 해당 쌍에 대해 사용자 인스턴스를 반환합니다. 실제로 사용자를 로그인하고 템플릿, 세션 등에서 사용할 수있게하려면 login

login(request, user) 
+0

네, 내가 로그인 함수를 사용하지 않았 음을 압니다.이 문제를 고맙습니다. – Rajeev

0

짧은 대답 : 내장 된 인증을 사용합니다. 너 자신을 쓰려고하지 마라. https://docs.djangoproject.com/en/dev/topics/auth/

  • 코드가 완전히 깨진 경우 - login이 변수를 볼 수 unamepwd이 정의되지 않습니다에. 작업 코드를 게시하십시오.
  • 당신 스스로 인증을하는 것처럼 보입니다 - 내장 된 인증 방법을 사용하지 않으시겠습니까?
  • 변수의 user을 사용하여 로그인 한 사용자를 정의했지만이 코드는 logon의 범위에만 있습니다. 나머지 코드는 request.user입니다. 이것이 내장 된 인증 방법을 사용해야하는 이유입니다.
+0

코드에서 편집을 봐주세요 – Rajeev