Использование Protovis с Django - PullRequest
       2

Использование Protovis с Django

0 голосов
/ 24 августа 2010

Я пытаюсь заставить Протовиса работать на моем сайте 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}}».

Но при доступе к шаблону файла .html с моего сервера Django я вижу только {{object.name}} (распечатано имя объекта).

До сих пор я не обнаружил подобных проблем, связанных с использованием Protovis в Django. Если кто-то работает или знает, что я делаю неправильно, пожалуйста, дайте мне знать.

Спасибо

1 Ответ

0 голосов
/ 29 августа 2010

Вы запросили файл 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'}),

  • Измените атрибут src тега script в HTML-коде на:

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

...