无法将变量传递给烧瓶模板

时间:2020-04-21 20:19:02

标签: python templates flask jinja2

尝试将变量传递给烧瓶中的模板时遇到了很多麻烦。我已经阅读了文档和示例,但看不到我做错了什么。

下面的烧瓶路线“ poll_request”会轮询另一个python模块中的字典,以查看泵是打开还是关闭。当前,该路线可以准确地识别字典在向终端打印“状态”时是说开还是关。

我正在发送一个ajax请求以轮询泵的状态,并使用正确的变量渲染模板。我正在向烧瓶路径发送get请求,以便如果泵“打开”,它将在页面上渲染变量为“ on”的模板,否则,路径将渲染为变量“ Off”。该变量正在打印并在服务器端返回正确的值,但是在呈现时未将其放入模板中。我已经清除了缓存并关闭/打开页面以查看是否是缓存问题。模板中的任何区域均未呈现该变量。我是Flask / Jinja的新手,所以任何帮助都将是很大的。

ajax

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

烧瓶路线

@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>

0 个答案:

没有答案