在处理Django views.py文件中的POST请求时,我有时需要将其重定向到另一个url.我重定向到的这个url由同一个django views.py文件中的另一个函数处理.有没有办法做到这一点并维护原始帖子数据?

更新:更多关于我为什么要这么做的解释. 我有两个Web应用程序(让我们称它们为AppA和AppB),它们接受用户在文本字段中输入的数据.当用户单击提交时,将处理数据并显示详细结果.AppA和AppB需要不同类型的数据.有时用户会错误地将AppB类型的数据发布到AppA.发生这种情况时,我希望将它们重定向到AppB并显示AppB结果,或者至少用他们输入到AppA中的数据填充结果.

另外:

  • 客户想要两个独立的应用程序,而不是将它们合并成一个.

  • 我无法显示代码,因为它属于客户端.

更新2: 我认为接吻是这里最好的原则.我已经将这两个应用程序合并为一个,这使得事情变得更简单、更健壮;我应该能够说服客户,这也是最好的方法.谢谢你所有的反馈.如果我要像描述的那样维护两个应用程序,那么我认为会话将是实现这一点的方法-感谢马修·J·莫里森(Matthew J Morrison)的建议.感谢Dzida的 comments ,因为他的 comments 让我思考了设计和简化的问题.

推荐答案

如果你面临这样的问题,你可能需要修改你的设计.

This is a restriction of HTTP that POST data cannot go with redirects.

你能描述一下你想要完成什么,然后我们可以想出一些简洁的解决方案.

如果您不想像Matthew建议的那样使用会话,可以将get中的post params传递到新页面(考虑一些限制,比如查询字符串中get params的安全性和最大长度).

更新到您的更新:) 我听起来很奇怪,你有两个Web应用程序,而这两个应用程序使用一个views.py(我说的对吗?)无论如何,请考虑将数据从POST传递到正确的视图(当然,以防数据不敏感).

Django相关问答推荐

当RST =True时RST CSS

Django ORM Groupby

DJANGO 获得模型中发现的第一、第二和第三大价值

在 Django 4.1 中提交表单之前显示数据

NoneType对象没有属性保存Django

Django 模型 Select - 只允许管理界面上的特定转换

Django 如何知道我的数据库的路径?

在 settings.py 中指定 Django 测试数据库名称

Django:在模板中呈现表单字段时添加 CSS 类

在 Django 中,您可以向查询集添加方法吗?

如何迭代模板中 SelectField 的选项?

是否可以将 FastAPI 与 Django 一起使用?

Django -- User.DoesNotExist 不存在?

Django模板转义

如何覆盖 django 管理员翻译?

Python - 覆盖 __init__ 的最干净方法,其中在 super() 调用之后必须使用可选的 kwarg?

如何在 Django 中测试自定义模板标签?

django 模板列表变量中的最后一个元素

django 我们可以在预取相关模型上 Select 一个字段吗?

在 Django 中的字段中添加额外的约束