我想让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中打开此文件时,Protovis的“Hello World”图像会显示为字符串“{{object.name}}”。
但是当从我的Django服务器访问.html文件模板时,我只看到{{object.name}}(打印出对象的名称)。
到目前为止,我还没有找到类似的问题,因为在Django中使用了Protovis。 如果有人让它工作或知道我做错了什么,请告诉我。
谢谢,
答案 0 :(得分:0)
您已使用src="protovis-r3.2.js"
当您直接查看html文件时,您的浏览器将在与.html文件相同的目录中查找名为protovis-r3.2.js的文件。
但是,当您要求Django提供同一页面时,它不遵循相同的协议。有关详细信息,请参阅this article。
要让它发挥作用:
将protovis-r.32.js文件移动到新目录:/path/to/my/django_site/static
(其中/ path / to / my / django_site是django应用程序的绝对路径)
使用以下行配置urls.py:
(r'^static/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': '/path/to/my/django_site/static'}),
src="/static/protovis-r3.2.js"