У меня есть простое приложение Flask
, которое запрашивает базу данных с помощью набора параметров и затем отображает результат. Это отлично работает, но как я могу перезапустить процесс (запрос базы данных, построение данных) всякий раз, когда он все еще работает, и я обновляю страницу, или я снова нажимаю кнопку отправки?Как перезапустить процесс колбы, обновляя страницу
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
form = InputForm(request.form)
if request.method == 'POST' and form.validate():
data = queryDatabase(form.startdate.data, form.enddate.data)
result = plotData(data)
else:
result = None
return render_template('view.html', form=form, result=result)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
view.html
<form method=post action="">
<table>
{% for field in form %}
<tr>
<td>{{ field.label }}</td>
<td>{{ field }}</td>
</tr>
{% endfor %}
</table>
<p><input type=submit value=Submit></form></p>
<p>
{% if result != None %}
<img src="{{ result }}" width="500">
{% endif %}
</p>
Вы хотите, чтобы вы перезагрузились при изменении кода? Это уже поддерживается Flask, см. Http://flask.pocoo.org/docs/0.10/api/#flask.Flask.debug. Почему вы хотите, чтобы сервер перезапускался каждый раз, когда вы делали запрос? – jonrsharpe
@jonrsharpe извините, описание вводит в заблуждение. Я сделал исправления. – ArchieTiger
Я не уверен, есть ли способ сообщить Flask просто обработать предыдущий запрос и запустить новый, когда он поступит - это ... несколько необычный случай использования для веб-сервера. Не могли бы вы объяснить реальную проблему, которую вы пытаетесь решить? Что изменилось между запросами? – jonrsharpe