2016-06-15 3 views
0

У меня есть простое приложение 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> 
+2

Вы хотите, чтобы вы перезагрузились при изменении кода? Это уже поддерживается Flask, см. Http://flask.pocoo.org/docs/0.10/api/#flask.Flask.debug. Почему вы хотите, чтобы сервер перезапускался каждый раз, когда вы делали запрос? – jonrsharpe

+0

@jonrsharpe извините, описание вводит в заблуждение. Я сделал исправления. – ArchieTiger

+2

Я не уверен, есть ли способ сообщить Flask просто обработать предыдущий запрос и запустить новый, когда он поступит - это ... несколько необычный случай использования для веб-сервера. Не могли бы вы объяснить реальную проблему, которую вы пытаетесь решить? Что изменилось между запросами? – jonrsharpe

ответ

Смежные вопросы