Skip to main content
 首页 » 编程设计

javascript之Flask 到 Dygraph之如何传递数据

2024年08月12日15wayfarer

如果我有一个像这样的简单 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 吗?

任何示例都会有帮助。

谢谢 比尔

请您参考如下方法:

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

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