質問
DjangoサイトでProtovisを機能させようとしています。これが私のサンプルコードです:
<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の使用に対応しているのは、今のところ同様の問題を発見していません。誰かがそれを機能させたか、私が間違っていることを知っているなら、私に知らせてください。
ありがとう、
解決
JavaScriptファイルを使用して要求しました src="protovis-r3.2.js"
HTMLファイルを直接見ると、ブラウザはProtovis-R3.2.jsというファイルの.htmlファイルと同じディレクトリを表示します。
ただし、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コードのスクリプトタグのSRC属性を次のように変更します。
src="/static/protovis-r3.2.js"