将 Protovis 与 Django 结合使用

发布于 2024-09-15 19:59:31 字数 740 浏览 4 评论 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中的使用。 如果有人让它工作或知道我做错了什么,请告诉我。

谢谢,

I am trying to get Protovis working in my Django site. Here is my sample code:

<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>

When I open this file directly in firefox, a Protovis 'Hello World' image is displayed toguether with the string "{{ object.name }}".

But when accessing the .html file template from my Django server, I only see the {{ object.name }} (the object's name printed out).

I haven't found similar issues so far, catering to Protovis use in Django.
If anyone has gotten it working or know what I am doing wrong, please let me know.

Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

所谓喜欢 2024-09-22 19:59:31

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

当您直接查看 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< ;路径>.*)$', 'django.views.static.serve',
{'document_root': '/path/to/my/django_site/static'}),

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

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

You've asked for the javascript file using src="protovis-r3.2.js"

When you look at the html file directly, your browser will look in the same directory as the .html file for a file called protovis-r3.2.js.

However, when you ask Django to serve this same page, it doesn't follow the same protocol. See this article for more information.

To get it to work:

  • Move the protovis-r.32.js file to a new directory: /path/to/my/django_site/static (where /path/to/my/django_site is the absolute path to the django app)

  • Configure urls.py with the line:

(r'^static/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': '/path/to/my/django_site/static'}),

  • Change the src attribute of the script tag in your html code to:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文