ValueError at /blog/1/comment/new/
The view blog.views.comment_new didn't return an HttpResponse object. It returned None instead.
Request Method: GET
Request URL: http://localhost:8000/blog/1/comment/new/
なぜリクエストメソッドが取得されますか?DjangoはHttpResponseオブジェクトエラーを返しませんでしたか?
HTML
<form action="" method="post">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
<input type="submit" />
</form>
VIEWS
@login_required
def comment_new(request, post_pk):
post = get_object_or_404(Post, pk=post_pk)
if request.method == 'post':
form = CommentForm(request.POST)
if form.is_valid():
comment = form.save(commit=False)
comment.post = post
comment.author = request.user
comment.save()
return redirect('blog:post_detail', post.pk)
else:
form = CommentForm()
return render(request, 'blog/comment_form.html', {
'form': form,
})`
だけPOSTメソッドの応答を返すされているおかげで
htmlフォームのアクションパラメータに何も指定しなかった理由 –
今はパラメータが必要ありません。 –
アクションURLを指定する必要があります。そうでない場合は、サーバーに送信される余分なクラッタがないようにします。 –