我的flask脚本中有一些功能,这需要花费很多时间才能执行。目前,我想在脚本运行时显示类似加载页面的内容。
我尝试了很多方式但没有成功
@app.route('/script')
def foo():
global cookie
if cookie == 1:
try:
path = "script.py"
os.system(path) #while this run, I want to show the loading page, and then return the output*
return render_template('output.html') #output*
except Exception:
return render_template('error.html')
return render_template('login_error.html')
答案 0 :(得分:0)
正如Chris所说,您需要使用JavaScript来显示加载页面。
下面是一个简单的代码段,可以帮助您入门。
HTML :我们假设您有一个触发/ script调用的锚点。
<a id="scriptCall">Run a script</a>
<div id="loadingImage" style="display:none;">
<!-- your image tag goes here -->
</div>
JS :包含对服务器的Ajax调用(命中/ script)。需要JQuery。
$("#scriptCall").click( function()
{
// when a button is clicked, you make an Ajax call.
$('#loadingImage').show();
$.ajax({
type: "GET",
url: '/script',
success: function (resp) {
$('#loadingImage').hide();
}
});
});