2014-09-03 24 views
0

我正在使用烧瓶并试图让dygraph样本工作。下面是示例代码(从教程页面示例2:http://dygraphs.com/tutorial.html):Dygraph没有定义,使用Flask

<html> 
<head> 
<script type="text/javascript" 
    src="dygraph-combined.js"></script> 
</head> 
<body> 
<div id="graphdiv2" 
    style="width:500px; height:300px;"></div> 
<script type="text/javascript"> 
    g2 = new Dygraph(
    document.getElementById("graphdiv2"), 
    "temperatures.csv", // path to CSV file 
    {}   // options 
); 
</script> 
</body> 
</html> 

这里是我的瓶代码(我试图使用render_template()):

from flask import Flask, render_template 
app = Flask(__name__) 
@app.route('/') 
def render_plot(): 
    return render_template('sample.html') 
if __name__ == '__main__': 
    app.run() 

当我运行这通过python萤火虫给我错误“Dygraph没有定义。”从线G2 =新Dygraph(

Sample.html作品在我的文件夹中,但是当我试图从Python的运行我的烧瓶代码之后,从我的网址访问它,它不工作我的文件夹是这样的:

FlaskStuff/main.py

FlaskStuff /模板/ sample.html

FlaskStuff /模板/ dygraph-combined.js(要我的文件夹中加载sample.html)。

FlaskStuff/JS/dygraph-combined.js

我是新来的烧瓶。类似的回答并没有帮助我解决这个问题。

回答

1

dygraph-combined.js位于何处?它需要在某个地方可以提供服务。您最有可能将其放置在您的static文件夹中。在static(例如,cssjs)内对类似文件进行分组是相当普遍的做法。

采用这种结构

static/ 
    js/ 
     dygraph-combined.js 

你要更新sample.html如下

<script type="text/javascript" src="{{ url_for('static', filename='js/dygraph-combined.js') }}"></script> 

这将允许瓶开发服务器提供服务的文件。您还需要将规则添加到HTTP服务器,以便直接从/static提供内容。

0

您还必须为temperature.csv文件做类似的事情。 (我已将它放在静态文件夹中)

"{{ url_for('static', filename='temperatures.csv') }}", // path to CSV file