当函数在Flask的后台运行时,如何向页面添加加载gif?

时间:2017-03-15 09:31:29

标签: javascript python html flask

我编写了一个显示带有按钮的页面的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>

1 个答案:

答案 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>

参考文献: 1 2