Django - 编辑后重定向到视图

时间:2017-11-12 20:22:58

标签: python django redirect post

我有一个允许我编辑/更新帖子的视图。该帖子是填写表格的结果。这类似于我猜测在编辑后重定向到CMS帖子。这是帖子视图:

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'),

每个帖子都是网址中的数字,例如http://127.0.0.1:8000/13/。我可以重定向到上一页,但是我会回到编辑视图,而我想回到实际的帖子视图,显示编辑。希望这不是一团糟。

我理解我需要抓取orginating url,然后在表单更新后使用它,所以我现在正在研究它。感激地收到任何指导。

1 个答案:

答案 0 :(得分:2)

它会重定向到产品页面,因为这是您在form_valid中明确告诉它的内容。如果要重定向到详细信息页面,请执行以下操作:

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