我是网络开发的新手,这是我第一个使用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错误(为什么它们是相对路径?)。我认为这是导致错误的原因。 以前有人遇到过这个问题吗?
答案 0 :(得分:0)
有一个名为assets_directory的设置保存资产(./bower_components/) https://github.com/areski/python-nvd3/blob/master/nvd3/NVD3Chart.py#L78
您可以使用它来指向不同的资产目录,即您将使用Flask的目录。
替代方案您也可以将其更改为使用CDN