我正在使用烧瓶并试图让dygraph样本起作用。以下是示例代码(教程页面中的第二个示例:http://dygraphs.com/tutorial.html):
<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>
这是我的Flask代码(我正在尝试使用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运行它时,firebug给出了错误“Dygraph未定义”。从行g2 = new Dygraph(
Sample.html在我的文件夹中工作,但是当我从python运行我的烧录代码后尝试从我的URL访问它时,它不起作用。我的文件夹看起来像这样:
FlaskStuff / main.py
FlaskStuff /模板/ sample.html
FlaskStuff / templates / dygraph-combined.js(在我的文件夹中加载sample.html)。
FlaskStuff / JS / dygraph-combined.js
我是Flask的新手。类似的答案并没有帮助我解决这个问题。
答案 0 :(得分:1)
dygraph-combined.js
位于何处?它需要在某个地方才能提供。您最有可能将它放在static
文件夹中。在static
内对类似文件进行分组是一种相当普遍的做法(例如,css
,js
)。
使用此结构
static/
js/
dygraph-combined.js
您希望按以下方式更新sample.html
<script type="text/javascript" src="{{ url_for('static', filename='js/dygraph-combined.js') }}"></script>
这将允许Flask开发服务器提供文件。您还希望向HTTP服务器添加规则,以直接从/static
提供内容。
答案 1 :(得分:0)
你还需要为temperature.csv文件做类似的事情。 (我已将它放在静态文件夹中)
"{{ url_for('static', filename='temperatures.csv') }}", // path to CSV file