2010-06-21 21 views
14

Bir form kaydederken, basit bir görünüme sahibim. kod 'temiz' görünüyor, ancak hatadan kurtulamıyorum: "Görünüm bir HttpResponse nesnesini döndürmedi." Web'de arandığım halde, alakalı bir işaret bulamadım.Django "Görünüm, bir HttpResponse nesnesini döndürmedi."

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

Teşekkürler!

+1

Önemsiz soru: Bir POST isteği mi gönderiyorsunuz? – TooAngel

cevap

25

o isteği olsun o ise yazılan istek ve geçersiz biçim bir sınır formu

hale ise bir ilişkisiz formu

hale olup olmadığını kodu

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

girintilemesini doğrulamak istek formu ve geçerli form sayfa yönlendirme sayfası

+0

Kesinlikle doğru! – KevinDTimm

+0

haklısın. Aslında girinti problemim vardı! teşekkür ederim! – dana

+0

Bu doğru ve tüm ani bir doğrulama şu anda çalışıyor – kta

6

Tüm görünüm işlevleri bir çeşit HttpResponse nesnesine dönmelidir. İşlevinizde, None'un yerine iade edileceği bir kod yolu vardır. Bu, request.method != 'POST' olduğunda gerçekleşecek ve işlevinizin ("None döndürecek") basitçe "sona erecek" olacaksınız.

+0

evet. Haklısın. Göremediğim halde, problemim daha önemsizdi. Bir girinti problemim vardı, ve eğer 'else' ikincisinde olduğu gibi yorumlandı. İlgi duyduğunuz için çok teşekkürler! :) – dana

İlgili konular