장고에 내장 된 인증 모듈을 사용하려고합니다. 내가 일하고있는 사이트의 경우 이메일 주소를 로그인 이름으로 사용하고 일반적으로 설정되어있는 일반 영숫자 필드 만 사용하려는 것이 아닙니다. 이렇게하기 위해 모든 문자열 필드를 전자 메일 필드로 변경하고 최대 길이를 30에서 320으로 변경했습니다. 내 등록 코드는 잘 작동하지만 내 로그인 코드는 아닙니다. 여기에 내가 지금 사용하지 않는거야 무슨 :Django 폼은 항상 실패합니다
def login(request):
if request.method == 'POST':
form = AuthenticationForm(request.POST)
if form.is_valid():
return HttpResponse("valid")
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return HttpResponseRedirect("/")
# Redirect to a success page.
else:
return HttpResponse("Disabled Account")
# Return a 'disabled account' error message
else:
return HttpResponse("Invalid Login")
# Return an 'invalid login' error message.
else:
return HttpResponse("%s" % repr(form.errors))
else:
form = AuthenticationForm()
return render_to_response("login.html", {'form': form, }, context_instance=RequestContext(request))
을 아무리 제출 무엇 form.is_valid()는 FALSE 반환하지만 form.errors가 비어 있습니다. 어떤 아이디어가 잘못된 것일까 요? 나는 그것이 전부라고 생각하지 않도록 이메일 속성으로 모든 것을 변경했다고 생각합니다. 또한, 경우에 나는 djangoappengine을 사용하여 Google 애플 리케이션 엔진에서 이것을하려고 노력하고있어.
당신이 AuthenticationForm에 대한 코드를 게시 할 수 있습니까? – dannyroa