Flask MySQL ошибка соединения - AttributeError: у объекта 'NoneType' нет атрибута 'курсор' - PullRequest
0 голосов
/ 02 апреля 2020

Когда я пытаюсь отправить данные в Flask на страницу HTML для индикатора выполнения, я получаю сообщение об ошибке:

cursor = mysql .connection.cursor () AttributeError: у объекта 'NoneType' нет атрибута 'cursor'

Я знаю, что это означает, что нет соединения с базой данных. Если я раскомментирую yield "data:" + str(row) + "\n\n", ошибок не будет, и база данных будет подключена.

@app.route('/progress')
def progress():
    def generate():
        while 1:
            cursor = mysql.connection.cursor()
            cursor.execute("SELECT * FROM log_data WHERE id =( SELECT MAX(id) FROM log_data);")
            mysql.connection.commit()
            records = cursor.fetchall()
            cursor.close()

            for row in records:
                print(row)
                yield "data:" + str(row[1]) + "\n\n"
                time.sleep(0.5)
                break

    return Response(generate(), mimetype='text/event-stream')

Вот сценарий в HTML:

var source = new EventSource("/progress");
    source.onmessage = function(event) {
        $('.progress-bar').css('width', event.data+'%').attr('aria-valuenow', event.data);

        if(event.data == 100){
            source.close()
        }
    }

Почему возникает такая вещь и как можно было бы отправить потоковые данные на страницу HTML в Flask?

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