重定向url_for在发送帖子请求后不会重定向我

时间:2019-07-29 20:25:41

标签: python redirect flask url-for

此刻我的问题是我的重定向无法重新加载页面。

我将发布请求发送到我的Web服务器以获取我的信息。在服务器站点上,如“ / wait”,我一直等到收到发帖请求。发布请求将在“ / request”之类的其他路径中被捕获。在这里,应该使用重定向到“ / wait” URL的URL重新加载它,但是不起作用,我也不知道为什么。

@app.route("/request", methods=["POST"])
def request():
    received_data = request.data.decode()
    data = load_csv(received_data)
    return redirect(url_for("request"))

@app.route("/wait")
def wait():
    if data :
        return redirect("https://google.com")
    else:
        return render_template('wait.html')

我不知道为什么从请求中重定向的原因 工作。

1 个答案:

答案 0 :(得分:0)

您仅在函数request()的本地范围内定义了“数据”。如果我是你,我可能会使用Flask会话变量来存储数据。会话是网站上每个会话唯一的字典,因此每个人同时使用您的网站时,字典将有所不同。

一种执行此操作的方法可能是:

received_data = request.data.decode()
request['data'] = load_csv(received_data)

然后在您的wait()函数中,

if session.get('data'):
    return redirect("https://google.com")
else:
    return render_template('wait.html')