麻烦用烧瓶设置chartkick

时间:2013-11-14 05:41:40

标签: python highcharts flask jinja2

我想使用python包chartkick-0.4.0在我的烧瓶应用中添加图形。但是,我是新手,无法进行设置。项目的readme文件说明:

 Add chartkick to jinja_env and static_folder:

 app = Flask(__name__, static_folder=chartkick.js(),
 static_url_path='/static')
 app.jinja_env.add_extension("chartkick.ext.charts")

我已将chartstick.js添加到我的templates / js文件夹中。但是,行

app=Flask(__name__,static_folder=chartkick.js(), static_url_path='/static/js/')

抛出一个

NameError: "chartstic" is not defined.

我做错了什么?如何用烧瓶正确设置图表?

这是我的模板:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src=""{{ url_for('static', filename='js/chartkick.js') }}"></script>
{% bar_chart data %}

更新 * *,现在这是我的观点文件:

from flask import Flask, jsonify, render_template, request
import chartkick

app=Flask(__name__,static_folder=chartkick.js(), static_url_path='/static/js/')
app.jinja_env.add_extension("chartkick.ext.charts")


@app.route('/chart')
def first_graph():
    data = {'Chrome': 52.9, 'Opera': 1.6, 'Firefox': 27.7}
        return render_template('first_graph.html', data=data)

if __name__=="__main__":
    app.run(debug=True)

1 个答案:

答案 0 :(得分:2)

问题很简单。您在此声明中包含无效的HTML:

<script src=""{{ url_for('static', filename='js/chartkick.js') }}"></script>

请注意左侧双引号。第二个问题是您必须指定没有路径的Javascript文件。修复了这两个错误的陈述变为:

<script src="{{ url_for('static', filename='chartkick.js') }}"></script>

现在你应该得到你的图表。

注意:他们的文档告诉您设置静态路径文件夹的方式很糟糕。它们基本上将应用程序的静态文件夹指向它们自己的文件夹,这将阻止您拥有任何自己的静态文件。处理此问题的更好方法是为chartkick创建蓝图,并让蓝图的静态文件夹指向其Javascript文件。