У меня есть проект, в котором я сохраняю много данных в базе данных sqlite3
. Я хочу создать простое приложение в Flask - отображение соответствующих данных из базы данных. Новые записи добавляются в базу данных каждые несколько минут - я хочу, чтобы это приложение обновляло sh автоматически. Я подготовил некоторую информацию об этом и нашел информацию, что это можно сделать каким-то образом, используя socketio
Может ли flask framework отправлять данные в реальном времени с сервера в браузер клиента? или используя AJAX
. Я пытался сделать что-то вроде этого: или Python Flask обновление даты в реальном времени , но мне это не удалось.
вот код, который я использую правильно сейчас:
from flask import Flask, request, render_template, session, redirect
import numpy as np
import pandas as pd
import sqlite3
con = sqlite3.connect(r'path')
app = Flask(__name__)
df = pd.read_sql('select * from table1', con)
df1 = pd.read_sql('select * from table2', con)
@app.route('/', methods=("POST", "GET"))
def html_table():
return render_template('app.html',
tables=[df.to_html(classes='data1'),df1.to_html(classes='data2')],
titles=df.columns.values)
if __name__ == '__main__':
app.run()
Шаблон:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Title</title>
</head>
<body>
{% for table in tables %}
{{titles[loop.index]}}
{{ table|safe }}
{% endfor %}
</body>
</html>
в этом случае все отображается, но не работает в реальном времени. Я прошу инструкции или совета, как это сделать? Могу ли я как-нибудь использовать размещенные здесь ссылки? Это мое первое приложение в Flask, поэтому я не совсем знаю, как этого добиться.