2010-06-21 3 views
14

나는 양식을 저장하는 간단한보기가 있습니다. 코드가 '깨끗한'것처럼 보이지만 오류를 제거 할 수 없습니다. "보기가 HttpResponse 개체를 반환하지 않았습니다." 웹에서 검색했지만 관련 표시를 찾지 못했습니다.Django "보기가 HttpResponse 객체를 반환하지 않았습니다."

def classroom_privacy(request,classname): 
     theclass = Classroom.objects.get(classname=classname) 
    if request.method == 'POST': 
     form = PrivacyClass(request.POST) 
     if form.is_valid(): 
      new_obj = form.save(commit=False) 
      new_obj.save() 
      return HttpResponseRedirect('.')  
     else: 
      form = PrivacyClass()  
     return render_to_response('classroom/classroom_privacy.html', {'form': form}, 
      context_instance=RequestContext(request)) 

고마워요!

+1

간단한 질문 : POST 요청을 보내십니까? – TooAngel

답변

25

는 요청을받을 그것이 경우 포스트 요청 및 유효하지 않은 양식이 결합 된 형태

을 렌더링하는 경우 언 바운드 폼을

을 렌더링하는 경우 코드

def classroom_privacy(request, classname): 
    theclass = Classroom.objects.get(classname=classname) 
    if request.method == 'POST': 
     form = PrivacyClass(request.POST) 
     if form.is_valid(): 
      new_obj = form.save(commit=False) 
      new_obj.save() 
      return HttpResponseRedirect('.') 
    else: 
     form = PrivacyClass() 

    return render_to_response('classroom/classroom_privacy.html', {'form': form}, context_instance=RequestContext(request)) 

의 들여 쓰기를 확인 게시물 요청 및 유효한 양식 페이지 방향 재 지정

+0

절대적으로 맞습니다! – KevinDTimm

+0

네 말이 맞아. 실제로 들여 쓰기 문제가있었습니다! 고맙습니다! – dana

+0

이것은 정확하고 갑자기 유효성 검사가 현재 작동 중임 – kta

6

모든보기 기능은 일종의 HttpResponse 개체를 반환해야합니다. 함수에 None이 대신 반환되는 코드 경로가 있습니다. 이는 request.method != 'POST' 일 때 발생하며 함수의 "끝에서 벗어나기"만하면됩니다 (이는 None을 반환합니다).

+0

예. 당신 말이 맞아요. 내가 볼 수는 없지만 내 문제는 더 사소했습니다. 나는 들여 쓰기 문제가 있었고, 'else'는 두 번째 경우로 해석되었습니다. 관심을 가져 주셔서 대단히 감사드립니다! :) – dana

관련 문제