【发布时间】:2021-07-07 17:01:12
【问题描述】:
import datetime
import sqlite3
import webbrowser
from time import sleep
import dash
import dash_html_components as html
import dash_core_components as dcc
from flask import Response
app = dash.Dash()
server = app.server
app.layout = html.Div([html.H1('Graphs will be added here'),
html.P('click on LOG_VIEW to view logger'),
dcc.Link(
html.Button('LOG_VIEW'),
href='/log_stream')])
latest_sno = 0
def flask_logger():
"""creates logging information"""
global latest_sno, data
values = ''
connection = sqlite3.connect(r'C:\Users\rohit\Desktop\newbase.db')
s = ''
while True:
try:
data = connection.cursor()
pt = data.execute(f"Select * FROM cvt WHERE SNO >{latest_sno}")
values = pt.fetchall()
except sqlite3.Error as e:
pass
finally:
latest_sno = int(
data.execute("SELECT SNO FROM cvt ORDER BY SNO DESC LIMIT 1").fetchall().__getitem__(0).__getitem__(0))
current_time = datetime.datetime.now().strftime('%H:%M:%S')
y = ['name','Address','age','id']
if(len(values)!=0):
for i in values:
s = s + '\n' + str(dict(zip(y, i))) + '\n'
current_time = '\n'+current_time+s
yield current_time.encode()
s = ''
sleep(0.24)
@server.route("/log_stream", methods=["GET"])
def stream():
return Response(flask_logger(), mimetype="text/plain", content_type="text/event-stream")
if __name__ == '__main__':
app.run_server(debug=True)
webbrowser.open('http://127.0.0.1:8050/')
我在 python 中使用 dash,我想重定向到位置 '\log_stream'。以上是我尝试实现的方式,页面没有被重定向,但 URL 发生了变化。我在哪里出错或关于如何做的任何建议。任何帮助将不胜感激提前谢谢。
这是我关注的链接https://github.com/plotly/dash-core-components/issues/189#issuecomment-383228871
【问题讨论】:
标签: python plotly-dash