DJango:重定向表单数据,或将表单数据传递到另一个视图

时间:2015-08-24 00:40:46

标签: python django forms django-forms

我有一个表单需要在表单数据传递到另一个应用程序之前在我的django应用程序中处理一些数据。

这可能吗?如果没有,我该如何处理这种情况?

这是我需要做的更详细的例子。关于如何实现这一点的任何建议都是受欢迎的!

我有一个评论应用程序,可跟踪对任意对象的评论和回复,提供通知,嵌套评论等。我正在努力保持此应用程序的通用性。

我有另一个名为“提交”的应用,它使用评论应用。学生输入提交内容(通过评论应用程序中的CommentForm),结果将发送到处理它的评论应用程序。

在这种情况下,我在表单上有两个提交按钮:Approve&返回

无论点击哪个按钮,评论应用程序都会处理相同的数据。但是,我提交的应用程序需要根据按下的按钮来执行操作。

我想到这样做的第一种方法是首先将表单传递给提交应用视图,然后重定向到评论应用,但我不认为表单数据会附带它。

第二种方法是仅将其传递到提交应用视图,然后在评论应用中调用一个函数,例如Comment.objects.create_comment(...)而不是处理数据的视图,但我不知道如何传递表单数据。

1 个答案:

答案 0 :(得分:0)

这让我非常想起这个问题:django - how to implement a 2-step publish mechanism

您可以使用会话在第一步完成后保存您的数据(提交应用,如果我找到你正确的话),然后将用户重定向到第二步,他们必须再次提交(或只是重定向再次 - 这是一个链条,所以有点减去,但有效。)

另一种可能的方法是在注释应用程序的内容中进行黑客/读取,以便在提交应用程序中使用其内部,因此您将两种功能组合到一个视图/功能中。但是在不知道代码的情况下我无法帮助你(毕竟这是你的项目,所以这是你的任务)。