2011-03-29 9 views
0

메신저 정확히 받고 .. 실제로 httpresponse 리디렉션 아무것도 표시하지 않습니다. 실제로 http://127.0.0.1:8000/login/에 내 로그인 페이지가 표시됩니다. 이제 올바른 로그인을 원하면 내 인덱스 페이지로 리디렉션됩니다. 정확한 방법은 없습니다.성공 로그인 django 페이지 리디렉션

def login(request): 
    template = "../templates/admin/login.html" 
    data = { 
     } 
    user = auth.authenticate(username='aa', password='bb') 
    if user is not None and user.is_active: 
     template = "../templates/admin/index.html" 

     auth.login(request, user) 
    return HttpResponseRedirect("/login/index/") 

    return render_to_response(template, data, 
           context_instance = RequestContext(request)) 

thanx.

+0

http://docs.djangoproject.com/en/1.3/topics/auth/#django.contrib.auth.login –

+0

이 바로 내 보이는 (들여 쓰기를 가정하면 버전에 정확). 그건 파이썬 오류를 던지거나, 무엇이든지 상관없이'/ login/index /'로 리다이렉트하거나 성공했을 때 리다이렉트합니다. 빈 페이지가 돌아오고 있다고하니? –

+0

실제로 내가 http://127.0.0.1:8000/login/을 쓸 때 로그인 페이지를 표시하지 않고 인덱스 페이지로 자동으로 리디렉션됩니다. – gurr

답변

1

자동으로 리디렉션되는 경우 들여 쓰기가 해제되어 있습니다. 당신은 운이 좋지 않지만 코드를 작성하여 IndentationError을 트리거하지 않았습니다.

내 생각 엔 설명서에서 복사하여 붙여 넣고 코드에 추가하셨습니까?

탭과 공백이 섞이지 않았는지 확인하고 싶습니다.

다음은 POST 요청에서 정보를 가져 오는 고정 된 정보입니다.

def login(request): 
    template = "../templates/admin/login.html" 
    data = {} 
    if request.method == 'POST': 
     user = auth.authenticate(username=request.POST.get('username'), 
              password=request.POST.get('password')) 
     if user is not None and user.is_active: 
      auth.login(request, user) 
      return HttpResponseRedirect("/login/index/") 
    return render_to_response(template, data, context_instance = RequestContext(request)) 
+0

작동하지 않습니다 stilldef login (request) : template = "../templates/admin/login ".html 중에서 데이터 = {} = 사용자 auth.authenticate (= 'A'이름, 패스워드 = 'BB') 사용자가 없음과 user.is_active하지 없으면 (요청 사용자) 창 auth.login HttpResponseRedirect ("/ login/index /") return render_to_response (템플릿, 데이터, context_instance = RequestContext (request)) – gurr

+0

아, 맞아. 하드 코딩 된 값으로 사용자를 인증하므로 'aa'사용자가 'bb'암호를 가지고 있으면 설계 한대로 리디렉션을 받게됩니다. 이제 request.POST에서 사용자 이름과 암호를 가져와야합니다. –

관련 문제