使用Protovis和Django

时间:2010-08-23 20:00:17

标签: django protovis

我想让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。 如果有人让它工作或知道我做错了什么,请告诉我。

谢谢,

1 个答案:

答案 0 :(得分:0)

您已使用src="protovis-r3.2.js"

要求提供javascript文件

当您直接查看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应用程序的绝对路径)

    < / LI>
  • 使用以下行配置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"