Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-编辑后重定向到视图_Python_Django_Redirect_Post - Fatal编程技术网

Python Django-编辑后重定向到视图

Python Django-编辑后重定向到视图,python,django,redirect,post,Python,Django,Redirect,Post,我有一个视图,允许我编辑/更新帖子。这篇文章是填写表格的结果。我猜这类似于编辑后重定向到CMS帖子。以下是post视图: class PostUpdateView(UpdateView): model = Product form_class = ProductForm template_name = 'edit_product.html' def form_valid(self, form): self.object = form.save(commit=

我有一个视图,允许我编辑/更新帖子。这篇文章是填写表格的结果。我猜这类似于编辑后重定向到CMS帖子。以下是post视图:

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/
。我可以重定向到上一页,但会返回到编辑视图,而我想返回到实际的post视图,显示编辑。希望这不是很清楚


我感觉到我需要绘制原始url,然后在表单更新后使用它,所以我现在正在研究它。感谢您的指导。

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

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

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

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

谢谢-我知道重定向将指向产品,它是一个占位符,而我发现了如何以正确的方式进行重定向。你的回答很有效,我非常感谢你的帮助!谢谢-我知道重定向将指向产品,它是一个占位符,而我发现了如何以正确的方式进行重定向。你的回答很有效,我非常感谢你的帮助!