题
我试图让Protovis在我的Django网站上工作。这是我的示例代码:
<html>
<head>
<script type="text/javascript" src="protovis-r3.2.js"></script>
</head>
<body>
<script type="text/javascript+protovis">
new pv.Panel().width(150).height(150).anchor("center")
.add(pv.Label)
.text("Hello, world!")
.root.render();
</script>
{{ object.name }}
</body>
</html>
当我直接在Firefox中打开此文件时,将显示“ {{Object.name}}”字符串“ Hello World”图像显示。
但是,从我的Django服务器访问.html文件模板时,我只看到{{object.name}}(对象的名称已打印出)。
到目前为止,我还没有发现类似的问题,可以满足Django中的Protovis使用。如果有人让它工作或知道我做错了什么,请告诉我。
谢谢,
解决方案
您已经要求使用JavaScript文件 src="protovis-r3.2.js"
当您直接查看HTML文件时,您的浏览器将与.html文件相同的目录中查看一个称为protovis-r3.2.js的文件。
但是,当您要求Django提供同一页面时,它不会遵循相同的协议。看 本文 了解更多信息。
使它起作用:
将protovis-r.32.js文件移至新目录:
/path/to/my/django_site/static
(where/path/to/my/django_site是Django应用程序的绝对路径)使用该行配置URLS.PY:
(r'^static/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': '/path/to/my/django_site/static'}),
- 将HTML代码中脚本标签的SRC属性更改为:
src="/static/protovis-r3.2.js"
不隶属于 StackOverflow