Django "Представление не возвращало объект HttpResponse." - PullRequest
14 голосов
/ 21 июня 2010

У меня есть простое представление, в котором я сохраняю форму.код кажется «чистым», но я не могу избавиться от ошибки: «представление не возвращало объект HttpResponse»Несмотря на то, что я искал в Интернете, я не нашел соответствующего указания.

Ответы [ 2 ]

26 голосов
/ 21 июня 2010

проверьте отступ вашего кода

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

если это запрос на получение, вывести несвязанную форму

если это почтовый запрос и недопустимая форма отображает связанную форму

если это почтовый запрос и действительная форма перенаправить страницу

6 голосов
/ 21 июня 2010

Все функции просмотра должны возвращать какой-то объект HttpResponse.В вашей функции есть путь к коду, где вместо него будет возвращено None.Это произойдет, когда request.method != 'POST', и вы просто «упадете с конца» своей функции (которая вернет None).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...