フォームを保存しているところに簡単なビューがあります。コードは「クリーン」に見えますが、「ビューが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))
get requestの場合は、バインドされていないフォームをレンダリングします
ポストリクエストで無効なフォームの場合、バインドされたフォームをレンダリングします
pOSTリクエストであり、有効なフォームの場合はページをリダイレクトします
すべてのビュー関数は、ある種のHttpResponseオブジェクトを返す必要があります。関数には、代わりにNone
が返されるコードパスがあります。これは、request.method != 'POST'
そしてあなたは単にあなたの関数の「終わりから落ちる」でしょう(それはNone
を返します)。