Локальный сервер Python Flask не обновляется - PullRequest
0 голосов
/ 07 февраля 2019

Я начинаю изучать Flask, поэтому я новичок в этом, но у меня закончились идеи для реализации, поэтому я пришел сюда, чтобы спросить.У меня есть скрипт Python, который делает запрос GET к API, и он возвращает мне QR-код, после чего я получаю QR-код и добавляю его в свой HTML, все работает нормально.

Но у меня есть этот код проверки дляОтвет JSON, который дает мне API, имеет три ответа: «загрузка», «проверка подлинности» и «полученный код 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 голосов
/ 07 февраля 2019

Переместите 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(), чтобы обновить ваши данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...