0

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の「HelloWorld」画像が文字列「{{object.name}}」とともに表示されます。

しかし、Djangoサーバーから.htmlファイルテンプレートにアクセスすると、{{object.name}}(オブジェクトの名前が出力されます)しか表示されません。

DjangoでのProtovisの使用に対応して、これまで同様の問題は見つかりませんでした。誰かがそれを機能させているか、私が間違っていることを知っているなら、私に知らせてください。

ありがとう、

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コードのスクリプトタグのsrc属性を次のように変更します。

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

于 2010-08-29T16:56:52.303 に答える