Напечатайте новый ряд mysql db непрерывно на текстовой области с flask - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь создать очень простое 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, но я очень новичок в этой области.

Я буду признателен, если кто-то мне поможет. Большое спасибо

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