Python 如何重定向到页面并将数据传递到重定向的url? def view_postrequest,post_id: 显示博客文章 blogpost=blogpost.objects.getid=post\u id 上下文={'blogpost':blogpost} 返回renderrequest,“blogs/blogpost.html”,上下文 def new_POST请求: 创建一篇新的博客文章 if request.method!='邮政‘’ 没有提交任何数据;创建一个空白表单。 form=BlogPostForm 其他: 提交后的数据;处理数据。 form=BlogPostFormdata=request.POST 如果form.u有效: 表单保存 返回重定向“博客:索引” 显示空白或无效表单。 上下文={'form':form} 返回renderrequest,“blogs/new_post.html”,上下文 def edit_postrequest,post_id: blogpost=blogpost.objects.getid=post\u id if request.method!='邮政‘’ 初始请求;用当前博客文章预先填写表单。 form=BlogPostForminstance=blogpost 其他: 提交后的数据;处理数据。 form=BlogPostForminstance=blogpost,data=request.POST 如果form.u有效: 表单保存 查看发布请求,发布id 显示具有原始内容的表单 上下文={'blogpost':blogpost,'form':form} 返回renderrequest,“blogs/edit_post.html”,上下文
上面的代码是针对博客站点的,用户可以在其中创建、编辑和查看博客文章。编辑文章应处理用户编辑的文章,然后重定向到已编辑的文章。据我所知,重定向不允许发送数据,所以我尝试嵌套一个函数,但没有用 我在网上看到cookies/消息可能是一种解决方案。如果是,我该如何实施 编辑: 我补充说Python 如何重定向到页面并将数据传递到重定向的url? def view_postrequest,post_id: 显示博客文章 blogpost=blogpost.objects.getid=post\u id 上下文={'blogpost':blogpost} 返回renderrequest,“blogs/blogpost.html”,上下文 def new_POST请求: 创建一篇新的博客文章 if request.method!='邮政‘’ 没有提交任何数据;创建一个空白表单。 form=BlogPostForm 其他: 提交后的数据;处理数据。 form=BlogPostFormdata=request.POST 如果form.u有效: 表单保存 返回重定向“博客:索引” 显示空白或无效表单。 上下文={'form':form} 返回renderrequest,“blogs/new_post.html”,上下文 def edit_postrequest,post_id: blogpost=blogpost.objects.getid=post\u id if request.method!='邮政‘’ 初始请求;用当前博客文章预先填写表单。 form=BlogPostForminstance=blogpost 其他: 提交后的数据;处理数据。 form=BlogPostForminstance=blogpost,data=request.POST 如果form.u有效: 表单保存 查看发布请求,发布id 显示具有原始内容的表单 上下文={'blogpost':blogpost,'form':form} 返回renderrequest,“blogs/edit_post.html”,上下文,python,django,django-views,Python,Django,Django Views,上面的代码是针对博客站点的,用户可以在其中创建、编辑和查看博客文章。编辑文章应处理用户编辑的文章,然后重定向到已编辑的文章。据我所知,重定向不允许发送数据,所以我尝试嵌套一个函数,但没有用 我在网上看到cookies/消息可能是一种解决方案。如果是,我该如何实施 编辑: 我补充说 print("DEBUG returning HttpResponseRedirect of reverse of view_post") return HttpRe
print("DEBUG returning HttpResponseRedirect of reverse of view_post")
return HttpResponseRedirect(reverse(view_post, args=[post_id]))
到“用于编辑文章的else”的结尾,替换以前的视图文章尝试重定向。但是,在提交post数据之后,我在/post/edit\u post/1处收到错误NoReverseMatch/
据我所知,重定向不允许发送数据,所以我尝试嵌套一个函数,但没有用
若编辑后你们想被重定向到帖子的细节视图,你们可以使用HttpResponseRedirect对象和反转功能。例如:
返回HttpResponseRedirectreverseview_post,args=[post_id]
我发现它确实需要参数。以下代码实现了我需要的功能:
返回重定向'blogs:view\u post',post\u id=post\u id
博客:视图功能是反向工作所必需的