1
私はコマンドの出力をストリーミングするfolllowingフラスココードを使用しています:フラスコ - ストリームコンテンツ保持コンテキスト
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
...
# some logic to get cmd from POST request
...
return redirect_to(url_to(stream, cmd=cmd))
return render_template('index.html')
@app.route('/stream/<cmd>')
def stream(cmd):
print("Executing %s" % cmd)
g = proc.Group()
p = g.run(cmd)
def stream_cmd():
while g.is_pending():
lines = g.readlines()
for proc, line in lines:
print(line)
yield line + '</br>'
return Response(stream_cmd(), mimetype='text/html') # text/html is required for most browsers to show th$
私は自分のフォームを投稿すると、それは私が私の出力を参照してください空白のページにリダイレクトしますストリームは流れていますが、私はすべてのレイアウト/ CSS/html/etcを緩和しています...
ストリーム出力が表示されているのに、どうやって現在のレイアウトを維持できますか?
<div>
要素を現在のページ(リダイレクトではなく)のストリーム出力を動的に(Jquery)で更新することが理想的ですが、それも可能です。
http://flask.pocoo.org/docs/0.10/patterns/streaming/ – reptilicus
正直なところ、これはServer Sent Events/websockでうまくいきます – reptilicus
websocketでこれを行うにはいくつかのコードを提供できますか?私はどこでも見ることができますが、 –