如何在Flask中使用AJAX自动刷新和更新脚本和div

时间:2017-05-12 17:46:45

标签: jquery python ajax flask bokeh

我正在运行一个烧瓶脚本,调用散景图生成器来创建脚本和加载时的四个div。

plots = {'temperature': t.get_plot(), 'humidity': h.get_plot(), 'light': 
l.get_plot(), 'combined': c.get_plot()}
    script, divs = components(plots)
    return script, divs['temperature'], divs['humidity'], divs['light'], 
divs['combined']

并在start_app.py

中呈现模板
@app.route('/')
def index():
    script, temperature, humidity, light, combined = 
serial_ops.create_graphs()
    return render_template("index.html", script=script, 
temperature=temperature, humidity=humidity, light=light, combined=combined)

我正在将它呈现给一个看起来像这样的模板。

{% extends "bootstrap/base.html" %}
{% block title %}RPI Flask Test{% endblock %}
{% block scripts %}
<link href="http://cdn.pydata.org/bokeh/release/bokeh-0.12.5.min.css" rel="stylesheet" type="text/css">
<script src="http://cdn.pydata.org/bokeh/release/bokeh-0.12.5.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type=text/javascript>

{% endblock %}

{% block content %}
{{ script|safe }}
<div class="container-fluid">
    <div class="row">
        <div class="col-md-4">
            <div id="temperature">
                {{ temperature|safe }}
            </div>
        </div>
       ... etcetera ...

这里有关于Bokeh嵌入的一些信息,包括脚本/ div的外观示例。 http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html

我在线查看了一些示例和教程,但我无法弄清楚如何在不刷新页面的情况下更新这些脚本和div。大多数示例使用id = #x。我认为还有其他一些方法可以用iframe来做,但我更喜欢在此之前尝试一下AJAX解决方案。目前我没有使用Bokeh-Server,因为没有交互,刷新率也很慢。

由于

0 个答案:

没有答案