功能到浏览器的Flask Stream输出

Bri*_*pio 6 python flask

阅读本页http://flask.pocoo.org/docs/patterns/streaming/似乎我可以做我想做的事情,我有一个简单的url路由,将输出发送到json,但我宁愿流输出:

@app.route('/')
def aws_api_route_puppet_apply(ip=None):
    output = somemethod(var1,var2,var3)
    return Response(json.dumps(output), mimetype='application/json') 
Run Code Online (Sandbox Code Playgroud)

有没有办法使用flask和HTML将某些方法流式传输到浏览器或者我是否需要使用javascript?

jef*_*upp 9

就像文档所说的那样,只需创建一个生成器并生成要返回给客户端的每一行.

如果输出为10行,则以下内容将打印到客户端的十行(因为它们可用)中的每一行:

@app.route('/')
def aws_api_route_puppet_apply(ip=None):
    def generate():
        for row in somemethod(var1,var2,var3):
            yield row + '\n'
    return Response(generate(),  mimetype='application/json')
Run Code Online (Sandbox Code Playgroud)