2012-11-08 1 views
0

저는 장고 초보자입니다.로그인 확인 오류

내 로그인 페이지에는 "username"과 "password"만 있으면되며, 공백으로 두거나 잘못 입력하면 이 발생합니다. ValidationError을 발생시킵니다. 나는 코드를 생성하지만, 그냥 "/ 로그인 /에서 UnboundLocalError : 할당하기 전에 참조 된 지역 변수 '컨텍스트'"

"에서 KeyError를/로그인 /"를 제기

는 어떻게 해결할 수를 내 코드?

views.py

def LoginRequest(request): 
    if request.user.is_authenticated(): 
     return HttpResponseRedirect('/profile/') 
    if request.method == 'POST': 
     form = LoginForm(request.POST) 
     if form.is_valid(): 
      username=form.cleaned_data['username'] 
      password = form.cleaned_data['password'] 
      uasite1= authenticate(username=username, password=password) 
      if uasite1 is not None: 
       login(request, uasite1) 
       return HttpResponseRedirect('/profile/') 
      else: 
       return render_to_response('login.html', {'form': form}, context_instance=RequestContext(request)) 
     else: 
      return render_to_response('login.html', context, context_instance=RequestContext(request)) 
    else: 
     form = LoginForm() 
     context ={ 'form' : form} 
     return render_to_response('login.html',{'form': form}, context_instance=RequestContext(request)) 

form.py

class LoginForm(forms.Form): 
    username = forms.CharField(label = (u'User Name')) 
    password = forms.CharField(label = (u'Password'),widget = forms.PasswordInput(render_value=False)) 

    def clean_username(self): 
     data = self.cleaned_data['username'] 
     if not data: 
      raise forms.ValidationError("Please Enter Username.") 
     return data 

    def clean_password(self): 
     data = self.cleaned_data['password'] 
     if not data: 
      raise forms.ValidationError("Please Enter Password.") 
     return data 

    def clean(self): 
     username = self.cleaned_data['username'] 
     password = self.cleaned_data['password'] 
     try: 
      User.objects.get(username=username, password=password) 
     except User.DoesNotExist: 
      raise forms.ValidationError("Email or Password is incorrect.") 
     return self.cleaned_data 
당신은 템플릿을 누락

답변

0

...

from django import template 

context_instance=template.RequestContext(request) 

그리고 .. 여기에 사용 된 문맥이 참조되지 않는다 ....

return render_to_response('login.html', context, context_instance=RequestContext(request)) 
+0

감사합니다.하지만 같은 오류가 발생했습니다 ... 어떤 아이디어입니까? – stack5914

+0

죄송 컨텍스트 → {} – stack5914

+0

상황이 발생했습니다. –