Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

http - Django "The view didn't return an HttpResponse object."

I have a simple view in which I'm saving a form. The code seems 'clean', but I can't get rid of the error:

"The view didn't return an HttpResponse object."

Though I've searched on the web, I did not find a relevant indication.

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))
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

verify the indentation of your code

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

if it is get request, render a unbound form

if it is post request and invalid form render a bound form

if it is post request and valid form redirect the page


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...