2010-06-21 8 views
14

tôi có một cái nhìn đơn giản trong đó tôi đang lưu một biểu mẫu. mã có vẻ 'sạch', nhưng tôi không thể loại bỏ lỗi: "Chế độ xem không trả lại đối tượng HttpResponse." Mặc dù tôi đã tìm kiếm trên web nhưng tôi không tìm thấy chỉ báo có liên quan.Django "Chế độ xem không trả lại đối tượng 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)) 

Cảm ơn!

+1

Câu hỏi nhỏ: Bạn gửi yêu cầu POST? – TooAngel

Trả lời

25

xác minh thụt đầu dòng của mã của bạn

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)) 

nếu nó là có được yêu cầu, làm cho một hình thức ràng buộc

nếu nó là bài yêu cầu và hình thức không hợp lệ làm cho một hình thức ràng buộc

nếu nó là yêu cầu bài đăng và biểu mẫu hợp lệ chuyển hướng trang

+0

Hoàn toàn chính xác! – KevinDTimm

+0

bạn nói đúng. Tôi thực sự đã có vấn đề thụt đầu dòng! cảm ơn bạn! – dana

+0

Điều này là chính xác và đột nhiên việc xác thực hiện đang hoạt động – kta

6

Tất cả chức năng xem phải trả về một số loại đối tượng HttpResponse. Có một đường dẫn mã trong hàm của bạn, trong đó None sẽ được trả lại thay thế. Điều này sẽ xảy ra khi request.method != 'POST' và bạn sẽ chỉ đơn giản là "rơi ra khỏi đầu" của chức năng của bạn (mà sẽ trở về None).

+0

có. bạn đúng rồi. vấn đề của tôi là tầm thường hơn, mặc dù tôi không thể nhìn thấy. tôi đã có một vấn đề thụt đầu dòng, và rằng 'khác' được hiểu là thứ hai nếu. Cảm ơn bạn rất nhiều vì đã quan tâm! :) – dana