Flask结合Chart.js绘制折线图数据存在但页面无显示问题求助
问题1:JavaScript配置语法错误
你HTML代码中Chart实例的data配置项里,labels属性定义行末尾缺少英文逗号,会直接导致JS语法报错,图表无法初始化:
// 错误写法 labels: {{ labels | safe }} datasets: [ // 正确写法,末尾添加英文逗号 labels: {{ labels | safe }}, datasets: [
问题2:Python后端代码缩进错误
你贴出的Flask代码里,labels、values的生成逻辑和return语句都没有缩进,不属于test视图函数的内部代码:
- 若实际运行代码就是该写法,Python会找不到函数内定义的
data变量,直接抛出NameError - 若为粘贴代码时丢失缩进,修正缩进即可:
from flask import Flask, render_template app = Flask(__name__) @app.route('/test') def test(): data = [ ("a", 70), ("b", 50), ("c", 10), ("d", 60), ("e", 50), ("a", 90), ] # 以下三行需要缩进,归入test函数作用域 labels = [row[0] for row in data] values = [row[1] for row in data] return render_template('test.html', labels=labels, values=values)
修正以上两个问题后刷新页面即可正常加载折线图。
内容的提问来源于stack exchange,提问作者lagunaloire
相关产品推荐
相关产品推荐

