当我试图运行滤泡瓶函数(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}$我正在寻找运行按钮,并显示在同一烧瓶页上的输出,而不是流式输出在一个新的页面。 提前谢谢你的帮助
这不是一个错误,这是生成器对象的字符串表示,这正是
yield
导致函数创建的原因。在您似乎试图使用生成器和
sleep()
使内容随时间在页面中显示,但模板的工作方式不是这样的-它们是一种一次性呈现。如果你想让页面中的内容随着时间的推移而出现,你可能需要使用某种形式的客户端javascript来获取新的更新。在相关问题 更多 >
编程相关推荐