最近、ウェブページに動的なプロットを実装するプロジェクトがあります。フラスコのウェブページをリフレッシュするには?
は、ここで私は私のHTMLコードに<meta content='5; url=http://127.0.0.1:5000/plot' http-equiv='refresh'>
を追加しますがここでは、それはまだ自動的に更新することができない私のHTMLコード
<!DOCTYPE html>
<html>
<head>
<title> Plot</title>
<meta content='5; url=http://127.0.0.1:5000/plot' http-equiv='refresh'>
</head>
<body>
<img src="data:image/png;base64, {{ plot_url }}">
</body>
</html>
である私のpythonコード
from flask import Flask
#from flask import render_template
import matplotlib.pyplot as plt
import io
import base64
app = Flask(__name__)
@app.route('/plot')
def build_plot():
img = io.BytesIO()
y = [1,2,3,4,5]
x = [0,2,1,3,4]
plt.plot(x,y)
plt.savefig(img, format='png')
img.seek(0)
plot_url = base64.b64encode(img.getvalue()).decode()
return '<img src="data:image/png;base64,{}">'.format(plot_url)
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
です。
プロットの変更を観察したい場合は、手動で更新する必要があります。
誰でもこの問題の解決に手伝ってもらえますか?ありがとうございます
この回答は https://stackoverflow.com/questions/15721679/update-and-render-a-value-from-flask-periodically –
を参照してください。これはPythonまたはFlaskとは関係ありません。最も単純なアプローチは、ページ内の 'iframe'を使用して定期的に更新するか、AJAXを使用するためにさらに高度な(そして正しいIMHO)ものです。 @LingchaoCaoが提供するリンクを確認してください。 –