Я пытаюсь создать очень простое flask приложение. Каждую 1 секунду я проверяю, есть ли у меня новая строка в моей MySQL БД, и если да, я печатаю ее на своей HTML странице.
import datetime
from time import sleep
from datetime import datetime
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/stream')
def stream():
def generate():
data = getNewRow() #this function is working and return a string like 'bofeln dez34'
newData = ''
while True:
newData = getNewRow()
if newData != data:
yield newData
data = newData
else:
pass
sleep(1)
return app.response_class(generate(), mimetype='text/plain')
if __name__ == "__main__":
app.run(host='0.0.0.0' ,port=5000, debug=True)
HTML СТОРОНА
<code>
<div class="container has-text-centered">
<div class="row">
<pre id="output">
var output = document.getElementById ('output'); var xhr = new XMLHttpRequest (); xhr.open ('GET', '{{url_for (' stream ')}}'); xhr.send (); setInterval (function () {output.textContent = xhr.responseText;}, 1000);
Работает не так, как ожидалось, я много читаю, что мне нужно jquery и ajax, но я очень новичок в этой области.
Я буду признателен, если кто-то мне поможет. Большое спасибо