我编写了一个显示带有按钮的页面的Flask应用程序,当用户点击该按钮时,调用Python函数进行一些处理(通常需要大约2分钟)。此处理结束后,将打开一个显示结果的新页面。现在我想加入一个加载gif'表示用户正在进行处理。我该怎么做呢?这是我的代码看起来像的一个例子。
app.py
from flask import Flask, render_template
import time
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/result', methods=['POST'])
def result():
time.sleep(5) # indicates the time delay caused due to processing
return render_template('result.html')
if __name__ == '__main__':
app.run(debug=True)
的index.html
<html>
<body>
<form method=post action="/result">
<input type=submit value='Start Processing' name='submit_btn'>
</form>
</body>
</html>
result.html
<html>
<body>
<h1> Processing Done </h1>
</body>
</html>
答案 0 :(得分:7)
这只需要在客户端完成。
在标题部分添加jquery:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
将此添加到您的提交按钮代码:
onclick="$('#loading').show();"
获取loading.gif图像在html
中添加以下代码<div id="loading" style="display:none;"><img src="loading.gif" alt="" />Loading!</div>