2017-11-12 9 views
0

投稿を編集/更新できるビューがあります。投稿はフォームに記入した結果です。これは私が編集後にCMSポストにリダイレクトすることに似ています。ここではポストビューです:私はちょうど編集したアイテムにリダイレクトするのに対し、Django - 編集後にビューにリダイレクト

class PostUpdateView(UpdateView): 
    model = Product 
    form_class = ProductForm 
    template_name = 'edit_product.html' 

    def form_valid(self, form): 
     self.object = form.save(commit=False) 
     self.object.save() 
     return redirect ('products') 

    @method_decorator(login_required) 
    def dispatch(self, request, *args, **kwargs): 
    return super(PostUpdateView, self).dispatch(request, *args, **kwargs) 

形式で詳細をアップデートした後には、「製品」のページにリダイレクトします。アイテムのURLは次のとおりです。

url(r'^([0-9]+)/$', views.detail, name = 'detail'), 

各ポストは、その後、URLの数、などhttp://127.0.0.1:8000/13/です。前のページにリダイレクトできますが、編集ビューに戻ってきますが、実際の投稿ビューに戻って編集していきたいです。うまくいけば、これは泥のようにはっきりしない。

私はorginating urlをgrapする必要があり、フォームが更新されるとそれを使用する必要があるので、今私はそれを研究しています。感謝の言葉をいただきました。

答えて

2

form_validで明示的に指示されているため、商品ページにリダイレクトされます。私が代わりにリダイレクトが製品に分かっていた私はそれを正しい方法を行う方法を見つけながら、それはプレースホルダーだった -

return redirect('detail', self.object.pk) 
+0

をありがとう:あなたは詳細ページにリダイレクトしたい場合は、それを行います。あなたは答えました。私は非常に助けに感謝します! – Steve

関連する問題