Python Django-编辑后重定向到视图
我有一个视图,允许我编辑/更新帖子。这篇文章是填写表格的结果。我猜这类似于编辑后重定向到CMS帖子。以下是post视图: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=
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)
谢谢-我知道重定向将指向产品,它是一个占位符,而我发现了如何以正确的方式进行重定向。你的回答很有效,我非常感谢你的帮助!谢谢-我知道重定向将指向产品,它是一个占位符,而我发现了如何以正确的方式进行重定向。你的回答很有效,我非常感谢你的帮助!