У меня в приложении для колб есть несколько кнопок, которые при нажатии запускают функцию на другом маршруте.Я хочу добавить загрузочный GIF, когда страница ожидает завершения функции.Я попробовал дюжину примеров из SO, но мне не повезло.Обратите внимание, что я на начальной загрузке 3.3.7, поэтому я не могу использовать
HTML: для маршрута / панели мониторинга (здесь кнопка живет)
{% block styles %}
<!-- Bootstrap latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Custom CSS -->
<link href="{{ url_for('static', filename='css/custom-base.css') }}" rel="stylesheet">
<!-- Font Awesome-->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Pretty loading buttons -->
<link href="{{ url_for('static', filename='css/loading-btn.css') }}" rel="stylesheet">
{% endblock %}
<!-- run function-->
<div class="container">
<div class="jumbotron">
<h2>Run Model</h2>
<div class="container" align="left">
<a href="/run_model" target="">
<button class="btn btn-primary ">Run</button></a>
</div>
</div>
</div>
{% block scripts %}
<!-- JQuery -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- Bootstrap JS -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
{% endblock %}
Маршруты: кнопка ссылается на run_modelфункция, выполняет и перенаправляет на страницу панели инструментов.
{% block content %}
@app.route('/run_model')
def run_model():
try:
# run a machine learning mode
except:
# if errors found flash some error
flash('Looks like something went wrong. Please try again! :(', 'danger')
return redirect(url_for('dashboard'))
{% endblock %}
По сути, я хочу анимировать кнопку, пока она находится на странице / панель инструментов, когда браузер "ожидает завершения 127.0.0.1:5000/run_model
и будетперенаправлен обратно на /dashboard