Вопрос

Я пытаюсь получить 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, отображается изображение Worldovis «Hello World», с помощью строки «{{Object.name}}».

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

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

Спасибо,

Это было полезно?

Решение

Вы попросили файл 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 тега скрипта в вашем HTML-коде, чтобы:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top