Не могу передать переменную в шаблон flask - PullRequest
0 голосов
/ 21 апреля 2020

У меня было много проблем при попытке передать переменную в шаблон в flask. Я прочитал документы и примеры, и я не вижу, что я делаю неправильно.

Маршрут flask poll_request ниже опрашивает словарь в другом модуле python, чтобы определить, включен ли насос. В настоящее время маршрут точно определяет, когда словарь сообщает о включении или выключении, когда он печатает «состояние» на терминал.

Я отправляю запрос ajax для опроса состояния насоса и визуализации шаблона с правильная переменная. Я отправляю запрос на получение маршрута flask, чтобы, если насос включен, он отображал шаблон с переменной «вкл» на странице, иначе маршрут будет отображаться с переменной «Выкл.». Переменная печатает и возвращает правильное значение на стороне сервера, но оно не помещается в шаблон при визуализации. Я очистил кеш и закрыл / открыл страницу, чтобы посмотреть, была ли это проблема с кешем. Ни одна из областей в шаблоне не отображает переменную. Я новичок в фляге / дзиндзя, поэтому любая помощь будет отличной.

ajax

$.ajax({
    url: 'poll_status',
    type: 'get',
})

flask маршрут

@app.route("/poll_status")
def poll_status():
    if current_user.is_authenticated:
        x = current_user.get_id()
        if all(value == "off" for value in pubsub.pump_status.values()):
            print('all off')
            return render_template("main1.html", pump1="off")
        else:
            state = pubsub.pump_status['pump1']
            return render_template("main1.html", pump1=state)
    else:
        return redirect(url_for("log_in"))

html

<span class="border rounded pump_text" id="pump1_status"> {{  pump1 }} </span>
<p> {{ pump1 }} </p>
...