我想使用python包chartkick-0.4.0在我的flask应用程序中添加图形。但是,我是不熟悉烧瓶的人,在设置它时遇到了麻烦。该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)
问题真的很简单。您在此语句中包含无效的HTML:
<script src=""{{ url_for('static', filename='js/chartkick.js') }}"></script>
请注意双左引号。第二个问题是,您必须指定不带路径的Javascript文件。修正了这两个错误的语句变为:
<script src="{{ url_for('static', filename='chartkick.js') }}"></script>
现在,您应该获取图表。
注意:他们的文档告诉您设置静态路径文件夹的方式很糟糕。他们基本上是将应用程序的静态文件夹指向自己的文件夹,这将阻止您拥有自己的任何静态文件。处理此问题的更好方法是为chartkick创建一个蓝图,并使该蓝图的静态文件夹指向其Javascript文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句