我正在运行一个烧瓶脚本,调用散景图生成器来创建脚本和加载时的四个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,因为没有交互,刷新率也很慢。
由于