有人提出了另一个像这样的问题,但我不喜欢答案(实际上它并没有真正回答这个问题):Can any one explain how can i pass arg or kwargs from redirect to another view?)
我有一个视图,需要重定向到另一个视图(在另一个应用程序中)并仍然发送一个参数。目前我有:
return redirect('/projects/', login_error=error)
哪个不起作用(重定向发生但参数不通过)。是否可以使用redirect()
执行此操作?文档中没有任何内容。
但是,我也尝试在不使用URL的情况下引用该视图:
return redirect('projects.views.list_all', login_error=error)
但这也不起作用。
答案 0 :(得分:1)
redirect
返回HTTP重定向到提供的URL - 也就是说,浏览器收到一个
30x响应并发起新请求。
要保留两个请求之间的状态,您需要设置会话变量(根据其他答案)或提供查询参数,例如:
return redirect('/projects/?login_error=error')
然后,您需要在另一个视图中处理传入的request.GET
参数。