0

我正在尝试让 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 }} (打印出的对象名称)。

到目前为止,我还没有发现类似的问题,以满足 Protovis 在 Django 中的使用。如果有人让它工作或知道我做错了什么,请告诉我。

谢谢,

4

1 回答 1

0

您已要求使用 javascript 文件src="protovis-r3.2.js"

当您直接查看 html 文件时,您的浏览器将在与 .html 文件相同的目录中查找名为 protovis-r3.2.js 的文件。

但是,当您要求 Django 提供相同的页面时,它并没有遵循相同的协议。有关更多信息,请参阅本文

让它工作:

  • 将 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'}),

  • 将 html 代码中 script 标签的 src 属性更改为:

src="/static/protovis-r3.2.js"

于 2010-08-29T16:56:52.303 回答