В python, когда вы return
в функции, она останавливает все дальнейшее выполнение. Таким образом, когда вы используете return render_template("loading.html")
, вы блокируете все дальнейшее выполнение функции. Причина этого проста: возьмите следующую функцию:
def threeandfour():
return 3
return 4
threeandfour() #this would return 3 only since otherwise it would have to return both three and four, which can't happen.
Моим решением было бы отправить страницу клиенту. Тогда я буду ждать ответа клиентов. Когда клиент ответит через @app.route()'/msg/<data>'
, я возьму ответ и верну клиенту новый URL.
@app.route('/loading')
def loading():
while True:
try:
return render_template('loading.html')
@app.route('/msg/<data>')
def data_recieved(data):
#do stuff with data
return render_template("/loading/connected")