无法使用python-nvd3

时间:2013-10-24 21:22:52

标签: python d3.js flask

我是网络开发的新手,这是我第一个使用Python和Flask的网络应用程序。 出于绘图的目的,我使用的是python-nvd3。 我按照这里的说明进行操作:http://python-nvd3.readthedocs.org/en/latest/introduction.html#documentation

我正在使用他们为饼图提供的示例代码(在上面的链接中)。我安装了python-nvd3(我可以导入)。当我运行我的python应用程序时,它重新加载Flask服务器(localhost),我能够在Firefox中查看HTML页面,但是该图表不存在。当我转到Tools-> Web Developer-> Web控制台时,我可以看到页面源代码。它显示以下错误:

[14:08:38.311] ReferenceError: nv is not defined @ http://localhost:5000/view_plot:20

默认情况下,python-nvd3在自动生成的HTML页面中添加以下脚本:

<link media="all" href="./bower_components/nvd3/src/nv.d3.css" type="text/css" rel="stylesheet" />

<script src="./bower_components/d3/d3.min.js" type="text/javascript"></script>

<script src="./bower_components/nvd3/nv.d3.min.js" type="text/javascript"></script>

但是当我尝试访问这些链接时出现404错误(为什么它们是相对路径?)。我认为这是导致错误的原因。 以前有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

有一个名为assets_directory的设置保存资产(./bower_components/) https://github.com/areski/python-nvd3/blob/master/nvd3/NVD3Chart.py#L78

您可以使用它来指向不同的资产目录,即您将使用Flask的目录。

替代方案您也可以将其更改为使用CDN