我开始学习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
我在互联网上进行了搜索,以查看是否有人与我有相同的问题,但是我还没有找到一个遇到此问题的人。 我尝试重新启动以下
似乎唯一可行的方法是对代码进行一些更改,然后重新启动服务器,即可以刷新页面并将我重定向到所需的模板文件时。
谢谢。
答案 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()
来刷新您的数据。