django 重定向到查看
Posted
技术标签:
【中文标题】django 重定向到查看【英文标题】:django redirect to view 【发布时间】:2012-10-30 23:55:39 【问题描述】:我有一个视图,我想在其中做一些事情,然后重定向到另一个视图并显示成功消息。我要重定向到的方法的签名是
quizView(request, quizNumber, errorMessage=None, successMessage=None):
我重定向到该视图的尝试如下所示:
return redirect(quizView, quizNumber=quizNumber, errorMessage=None, successMessage="Success!")
我已经尝试了命名和未命名参数的大多数组合,但我无法让它做我想做的事。有没有办法让这个工作?
另外,我尝试只返回第二个视图和第一个视图,但 URL 仍然是它在旧视图中的位置,而不是看起来好像它已重定向。
谢谢!
【问题讨论】:
该视图的 urls.py 条目是什么样的? 我试图重定向到的视图的 url 条目看起来像 " (r'^quizzes/(?P你应该参考这个https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#redirect
用于重定向内部视图。使用创建视图的 url 重定向或在视图内调用也很容易。
【讨论】:
【参考方案2】:你没有给你的 URL 一个名字,所以你需要使用视图函数的整个路径。另外,该 URL 不采用 errorMessage
或 successMessage
参数,因此将它们放入 reverse
调用将失败。这就是你想要的:
return redirect('quizzes.views.quizView', quizNumber=quizNumber)
【讨论】:
只是为了稍微改进一下答案 - 'quizzes.views.quizView' 应该是来自 urls.py 的 URL 名称 没有网址名有什么办法吗?【参考方案3】:你能试试https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#redirect中给出的例子2
确保它在给定视图上执行“反向”操作。 您的视图名称应该用单引号括起来/【讨论】:
我尝试使用单引号,结果相同。 “确保它在给定视图上执行'反向'”是什么意思。我不认为我正在这样做。 创建一个简单的示例应用程序并将其上传到 github。我们会尽力检查和帮助 这是我在执行所有关键字参数时得到的错误 "Reverse for 'quizView' with arguments '()' 和关键字参数 ''successMessage': 'Students Successfully added!', 'errorMessage ': 无,'quizNumber': u'2'' 未找到”。如果我做未命名的参数,我会得到相同的“'quizView' 的反向......”以上是关于django 重定向到查看的主要内容,如果未能解决你的问题,请参考以下文章