我有一个保存表单的简单 View 。代码看起来“干净”,但我无法摆脱错误:
"The view didn't return an HttpResponse object."
虽然我在网上搜索过,但我没有找到相关的指示。
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))
如果是get请求,渲染一个unbound form
如果是 post 请求和无效表单呈现绑定(bind)表单
如果是post请求且表单有效则重定向页面
关于Django "The view didn' t 返回一个 HttpResponse 对象。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3085028/