Flask to Dygraph - 如何传递数据?

时间:2016-06-09 01:29:21

标签: javascript python flask dygraphs

如果我有一个简单的Python时间数据系列:

graphdata = []
graphdata.append( [(datetime.date(2008, 5, 7)),75])
graphdata.append([(datetime.date(2008, 5, 8)), 85])
graphdata.append([(datetime.date(2008, 5, 10)), 60])

如何将数据传递到运行Dygraph的Flask页面?

我需要使用GViz吗?

任何例子都会有所帮助。

由于 比尔

1 个答案:

答案 0 :(得分:0)

无需将数据作为包含datetime个对象的列表传递。 Dygraphs轻松读取CSV格式。因此,只需将数据作为一个长CSV string传递。对于您的情况,首先制定包含您的数据的字符串:

graphdata = ''
graphdata = graphdata + '2008-05-07, 75\n'
graphdata = graphdata + '2008-05-08, 85\n'
graphdata = graphdata + '2008-05-10, 60\n'

现在,假设您要在index页面上呈现此数据,然后在views.py中执行此操作:

@app.route('/')
def index():
    return render_template('index.html',graphdata)

最后,您的index.html会收到此数据,并使用以下代码进行渲染:

<div id="graphdiv"></div>
<script type="text/javascript">
  g = new Dygraph(

    // containing div
    document.getElementById("graphdiv"),

    // CSV or path to a CSV file.
    {{ graphdata }}

  );
</script>

确保Flask应用中包含dygraph.js