у меня есть простое представление, в котором я сохраняю форму. код кажется 'чистым', но я не могу избавиться от ошибки: "Представление не возвратило объект 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))
Спасибо!
проверьте отступ вашего кода
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))
, если это запрос на получение, отобразите несвязанную форму
, если это запрос на отправку, и недопустимую форму, отобразите связанную форму
, если это отправка запроса и действующая форма перенаправляют страницу
Все функции просмотра должны возвращать какой-либо объект HttpResponse. В вашей функции существует кодовый путь, в котором вместо этого будет возвращено None
. Это произойдет, когда request.method! = 'POST'
, и вы просто «упадете с конца» своей функции (которая вернет None
).