2017-02-28 17 views
0

簡単なブログアプリケーションでは、ユーザーが投稿にコメントするとき、その同じ変数ルートまたはパーマリンクにリダイレクトして新しいコメントを表示するにはどうすればよいですか(django)?ビューで フォームPOST後に現在のページビューをリロードするようにリダイレクト

urlpatterns = [ 
    ... 
    url(r'^comments/(?P<post_id>[0-9]+)$', views.comments, name="thread"), 
    url(r'^post/comment/$', views.post_comment, name="post_comment"), 
] 

は、私は request.get_full_path()でURLを取得することができますが、私は、リダイレクトにそれを渡すために良い方法があります post_idを剥ぎ取るのではなく、想定しています。例ビュー(ただし右):正しく

[28/Feb/2017 05:21:33] "POST /post/comment/ HTTP/1.1" 302 0 
[28/Feb/2017 05:21:33] "GET /comments/{{post_id}} HTTP/1.1" 200 44831 

と形ポストが、リロードしないであろうページが/

感謝

をリダイレクト:

def post_comment(request): 

    author = User.objects.get(user=request.user) 
    new_comment = request.POST.get('commentContent', None) 
    parent_object = None 
    comment = Comment.create(author=author, 
          new_comment=new_comment, 
          parent=parent_object) 

    comment.save() 
    return redirect('/comments/{}'.format(comment.post.id)) 

コメントフォームを提出するには、ログに記録されます

答えて

0

逆方向にリダイレクトすることができます。

from django.core.urlresolvers import reverse 

# at the end of your view 
redirect_to = reverse('blog:thread', kwargs={'post_id': post.id}) 
return redirect(redirect_to) 
関連する問題