У меня проблема с моим веб-приложением, созданным во Flask, и шаблоном jinja2. У меня проблемы с обновлением моих переменных без перезагрузки моей веб-страницы. Я хотел бы сделать следующее: у меня в Python есть список, в который каждый период времени добавляется новое значение (в этом тесте каждую секунду добавляется текущая дата). На веб-странице я хотел бы, чтобы этот список всегда отображался вместе с новыми значениями, которые будут добавлены, но без перезагрузки страницы.
Я делал попытки на разных языках (Javascript, AJAX,PHP), что касается скрипта обновления страницы, но, к сожалению, ничего. Я также видел других пользователей, у которых была такая же проблема, но с другими характеристиками, но, к сожалению, я не мог понять, как работает это обновление. Я попробовал что-то попроще вместо списка, но переменную, но ничего. И что же мне делать? Что я должен сделать, чтобы прийти к решению? Я оставляю вам код моего веб-приложения.
Это код Python, в котором я отправляю визуализацию страницы, и есть функция, которая добавляет меня на каждую секунду текущую дату, более того, она всегдаКаждую секунду обновляется переменная «i» (в качестве теста для одной переменной).
from flask import Blueprint, render_template
import time, threading
page_load_blue = Blueprint("page_load", __name__)
list = []
i = 0
@page_load_blue.route('/page_load', methods=["GET", "POST"])
def pagina_carica():
newTime()
global list
global i
return render_template("page_load.html", list=list, i=i)
def newTime():
global list
global i
i += 1
list.append(time.ctime())
threading.Timer(1, newTime).start()
Это HTML-код с проверкой на Javascript, взятой из W3Shools и адаптированной к моим потребностям. В этом тесте «должен» отображать обновление переменной каждую секунду. (Очевидно, это не работает, но работает в случае, когда переменная будет обновлена в функции Javascript, которая, к сожалению, мне не нужна таким образом).
{% extends "template_page_load.html" %}
{% block title %}LOAD{% endblock %}
{% block main %}
<div class="container">
<div class="row">
<div class="col">
<p id="demo"></p>
<script>
var myVar = setInterval(myTimer ,1000);
function myTimer() {
document.getElementById("demo").innerHTML = {{ i }};
}
</script>
</div>
</div>
</div>
{% endblock %}
Спасибо за вашевнимание.