有人问了另一个像这样的问题,但我不“喜欢”这个答案(实际上它一开始并没有真正回答这个问题):Can any one explain how can i pass arg or kwargs from redirect to another view? )
我有一个 View ,需要重定向到另一个 View (在另一个应用程序中),并且仍然发送参数。目前我有:
return redirect('/projects/', login_error=error)
这不起作用(重定向发生但参数没有通过)。是否可以使用redirect()
来做到这一点?文档中没有任何内容。
但是,我也尝试在不使用 URL 的情况下引用 View :
return redirect('projects.views.list_all', login_error=error)
但这也行不通。
最佳答案
redirect
返回一个 HTTP 重定向到所提供的 URL - 也就是说,浏览器收到一个
30x 响应并发起新请求。
要保留两个请求之间的状态,您需要设置 session 变量(根据其他答案)或提供查询参数,例如:
return redirect('/projects/?login_error=error')
然后,您需要在另一个 View 中处理传入的 request.GET
参数。
关于python - 如何重定向到另一个应用程序中的 View 并仍然传递参数(Django),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10343313/