将 Protovis 与 Django 结合使用
我正在尝试让 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您已使用
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'}),
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'}),
src="/static/protovis-r3.2.js"