2016-06-15 1 views
0

매개 변수 집합을 사용하여 데이터베이스를 쿼리 한 다음 결과를 표시하는 간단한 Flask 응용 프로그램이 있습니다. 이것은 정상적으로 작동하지만, 프로세스가 계속 실행될 때마다 (데이터베이스 쿼리, 데이터 플로팅) 프로세스를 다시 시작하고 페이지를 새로 고치거나 제출 단추를 다시 클릭하는 방법은 무엇입니까?페이지 새로 고치기로 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) 

다른 사람에 의해 언급 한 바와 같이 당신은 예 셀러리 + 레디 스 또는 셀러리 + RabbitMq를 들어 큐를 사용한다

<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

답변

관련 문제