django重定向查看

时间:2012-11-11 05:20:59

标签: django http redirect

我有一个视图,我想要做一些内容,然后重定向到另一个视图,并带有成功消息。我要重定向到的方法的签名是

quizView(request, quizNumber, errorMessage=None, successMessage=None): 

我尝试重定向到该视图时看起来像这样:

return redirect(quizView, quizNumber=quizNumber, errorMessage=None, successMessage="Success!")

我已经尝试了大多数命名和未命名的参数的组合,我无法让它做我想要的。有没有办法使这项工作?

另外,我尝试使用第一个视图返回第二个视图,但后面的URL仍然是旧视图中的位置,而不是显示为重定向。

谢谢!

3 个答案:

答案 0 :(得分:34)

您没有为您的URL指定名称,因此您需要使用视图功能的整个路径。此外,该网址不会使用errorMessagesuccessMessage个参数,因此将其置于reverse调用中将会失败。这就是你想要的:

return redirect('quizzes.views.quizView', quizNumber=quizNumber)

答案 1 :(得分:5)

您可以尝试https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#redirect

中给出的示例2
  • 确保它在给定视图上执行“反向”操作。
  • 您的视图名称应包含在单引号/

答案 2 :(得分:-1)

您应该参考此https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#redirect

用于重定向内部视图。您可以使用为视图创建URL或在视图内部调用来重定向。