我正在努力解决web2py中的应用程序。我需要包含一个图表元素(一个雷达图),并尝试了许多选项,但没有成功。然后,我决定通过在视图中添加脚本来使用Chart.bundle.js并将文件Chart.bundle.js存储在静态目录中。
但是它不起作用。我没有任何错误,但是视图中未加载图表。 以下是查看代码:
this.AddHandler(
ComboBox.MouseLeftButtonUpEvent,
new MouseButtonEventHandler(Cb_MouseLeftButtonUp),
true
);
谢谢。
答案 0 :(得分:1)
<script src='static/Chart.bundle.js'></script>
检查浏览器开发人员工具的“网络”选项卡,以查看是否正在加载Chart.bundle.js。您可能会收到404响应,因为上述URL是相对URL,并将被附加到父页面的URL。相反,您应该使用web2py URL
助手来生成所有内部URL:
<script src="{{=URL('static', 'Chart.bundle.js')}}"></script>
上面的代码应生成一个类似/appname/static/Chart.bundle.js
的URL(如果您将路由配置为默认为该应用,则appname
将被排除。)
答案 1 :(得分:0)
您试图以错误的方式创建它,您不能仅指定图表ID并使用它。您需要的是ctx
(画布元素的上下文)。看看如何使用它:
$("#chartjs-radar").get(0).getContext('2d');
或
document.getElementById('chartjs-radar').getContext('2d');
在创建图表时使用此名称代替id。 (然后,您只能使用chart.js,而不是捆绑包)