获取<generator object inner at 0x7f2ad7874050>错误Flas

2024-06-16 10:49:11 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图运行滤泡瓶函数(route)时,在我的页面上得到这个错误<generator object inner at 0x7f2ad7874050>

@app.route('/siteON', methods=['GET', 'POST'])
def siteon():
    def inner():
        proc = subprocess.Popen(
            ['/root/site_toggle/flaskr/testON.sh'],
            shell=True,
            stdout=subprocess.PIPE
        )
        for line in iter(proc.stdout.readline,''):
            time.sleep(1) 
            yield line.rstrip() + '<br/>\n'
    output = inner ()
    return render_template('layout.html', ON_output=output)

这是我的html

^{pr2}$

我正在寻找运行按钮,并显示在同一烧瓶页上的输出,而不是流式输出在一个新的页面。 提前谢谢你的帮助


Tags: 函数outputobjectdefhtml错误stdoutline
1条回答
网友
1楼 · 发布于 2024-06-16 10:49:11

这不是一个错误,这是生成器对象的字符串表示,这正是yield导致函数创建的原因。在

您似乎试图使用生成器和sleep()使内容随时间在页面中显示,但模板的工作方式不是这样的-它们是一种一次性呈现。如果你想让页面中的内容随着时间的推移而出现,你可能需要使用某种形式的客户端javascript来获取新的更新。在

相关问题 更多 >