Python Flask本地服务器未更新

时间:2019-02-07 18:56:35

标签: python http flask request

我开始学习Flask,所以我在这方面是菜鸟,但是我没有实现的想法,这就是为什么我来这里问问题。我有一个向API发出GET请求的python脚本,它返回了一个QRcode,此后,我获得了QRcode并将其添加到html中,一切正常。

但是我有这段代码检查API给我的JSON响应,它具有三个响应:“正在加载”,“已认证”和“获取qr代码”。

req = requests.get('this is the link with my API token')
json_content = req.content

# parsed JSON content, ready to use
parsed_json = json.loads(json_content)
@app.route("/")
def index():
    if parsed_json["accountStatus"] == "loading":
        print(parsed_json["accountStatus"])
        print(req.status_code)
        return render_template("loading.html")

    if parsed_json["accountStatus"] == "got qr code":
        print(parsed_json["accountStatus"])
        str_parsed_json = yaml.safe_load(parsed_json["qrCode"])
        print(req.status_code)
        return render_template("qrcodePage.html", str_parsed_json=str_parsed_json)

    if parsed_json["accountStatus"] == "authenticated":
        print(parsed_json["accountStatus"])
        print(req.status_code)
        return render_template("index.html")


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000, debug=True)

我得到的回复是200

我在互联网上进行了搜索,以查看是否有人与我有相同的问题,但是我还没有找到一个遇到此问题的人。 我尝试重新启动以下

  1. 重新启动本地服务器
  2. 在app.run()中使调试事情成真
  3. 签入PostMan服务器响应,但它总是返回我预期的结果,但是页面中看不到更改。

似乎唯一可行的方法是对代码进行一些更改,然后重新启动服务器,即可以刷新页面并将我重定向到所需的模板文件时。

谢谢。

1 个答案:

答案 0 :(得分:2)

根据requests.get中的内容移动index()和所有后续对象:

@app.route("/")
def index():
    req = requests.get('this is the link with my API token')
    json_content = req.content

    # parsed JSON content, ready to use
    parsed_json = json.loads(json_content)
    if parsed_json["accountStatus"] == "loading":
        print(parsed_json["accountStatus"])
        return render_template("loading.html")

    ... rest of your code

当前,requests尚未刷新到服务器启动点之后。但是,如果每次您访问网站的根页面时将其移动到@app.route("/")内,它将执行新的requests.get()来刷新您的数据。