Ответ 1
Вы обсуждаете, что может быть две разные проблемы.
-
Предположим, что проблема заключается в том, что вы вызываете динамический источник данных,
get_data()
, только один раз и сохраняете его (статическое) значение в глобальномresponse
. Этот одноразовый вызов не отображается, но пусть он говорит где-то в вашем коде. Затем, если вы хотите обновить страницу (/
), чтобы получать обновления, вы можете:@main.route("/", methods=['GET']) def index(): return render_template("index.html", response=get_data())
Это позволит получать свежие данные при каждой загрузке страницы.
-
Затем к концу вашего вопроса вы спрашиваете, как "ПОЛУЧИТЬ данные, которые я хочу, без перезагрузки страницы или перезагрузки сервера". Это совершенно другая проблема. Вам нужно будет использовать запросы AJAX или WebSocket в вашем коде. Существует довольно много учебников о том, как это сделать (например, этот), которые вы можете найти через Googling "Flask AJAX". Но для этого потребуется вызов JavaScript AJAX. Я рекомендую найти примеры того, как это делается путем поиска "Flask AJAX jQuery", поскольку jQuery будет абстрагироваться и упрощать то, что вам нужно делать на стороне клиента. Или, если вы хотите использовать WebSockets для соединения с более низкой задержкой между вашей веб-страницей, это также возможно; поиск примеров (например, как этот).