2012-07-03 4 views
0

나는 폼을 저장하는 매우 기본적인 뷰를 가지고 있습니다. 어떤 이유로 나는 계속 "보기가 HttpResponse 객체를 반환하지 않았습니다"오류가 발생합니다. 이 일반적인 문제를 여기에서 살펴 보았지만 나에게 적용되는 해결책을 찾지 못했습니다. 누구든지 어떤 생각을 가지고 있니? 아래 코드를 포함 시켰습니다. 이 간단한 질문에 큰 도움을 주실 수 있습니다!Django "보기가 HttpResponse 객체를 반환하지 않았습니다."

def EarlyAdopterSignup(request): 
    f = LandingPageForm(request.POST) 
    if f.is_valid(): 
     email = f.cleaned_data['email'] 
     zip = f.cleaned_data['zip'] 
     adopter = EarlyAdopter(email = email, zip = zip) 
     try: 
      adopter.save() 
      return render_to_response('EarlyAdopterSignup.html') 
     except: 
      return HttpResponse("There was an error with your submission. Please try again.") 

답변

3

양식이 유효하지 않은 경우 처음에는 무엇이든 반환하지 않습니다. 오류가 표시된 양식을 다시 표시해야합니다.

5

A.L이 말하는 내용을 확인하려면 양식이 유효하지 않은 경우를 처리해야합니다.

바운드 유효하지 않은 양식 (f)을 서식 파일로 다시 전달하면 매우 간단하게 처리 할 수 ​​있습니다.

https://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs#using-a-form-in-a-view

는^

def EarlyAdopterSignup(request): 
    f = LandingPageForm(request.POST) 
    if f.is_valid(): 
     email = f.cleaned_data['email'] 
     zip = f.cleaned_data['zip'] 
     adopter = EarlyAdopter(email = email, zip = zip) 
     try: 
      adopter.save() 
      return render_to_response('EarlyAdopterSignup.html') 
     except: 
      return HttpResponse("There was an error with your submission. Please try again.") 

    # handle where not valid 
    return render(request, 'your_form_template.html', { 
    'form': f, # <- your invalid form instance 
}) 
을 할 필요가 정확히의 그림입니다
관련 문제