Frage

Ich versuche Protovis Arbeits in meiner Django-Website zu erhalten. Hier ist mein Beispielcode:

<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>

Wenn ich diese Datei öffnen direkt in Firefox, eine Protovis Bild 'Hallo Welt' wird angezeigt toguether mit der Zeichenfolge "{{object.name}}".

Aber wenn die HTML-Datei Vorlage von meinem Django-Server zugreifen, ich sehe nur die {{object.name}} (den Namen des Objekts ausgedruckt).

Ich habe nicht ähnliche Probleme bisher, Catering zu Protovis Verwendung in Django gefunden. Wenn jemand bekommen hat es funktioniert oder weiß, was ich falsch mache, lass es mich wissen.

Danke,

War es hilfreich?

Lösung

Sie haben für die JavaScript-Datei mit src="protovis-r3.2.js" gefragt

Wenn Sie auf der HTML-Datei schauen direkt in Ihrem Browser eine Datei im selben Verzeichnis wie die HTML-Datei aussehen wird Protovis-r3.2.js genannt.

Wenn Sie jedoch Django bitten, diese gleiche Seite zu dienen, ist es nicht das gleiche Protokoll folgen. Siehe diesen Artikel für weitere Informationen.

Um es an die Arbeit:

  • Bewegen Sie den Protovis-r.32.js Datei in ein neues Verzeichnis: /path/to/my/django_site/static (wobei / path / to / my / django_site ist der absolute Pfad zum django app)

  • Konfigurieren urls.py mit der Zeile:

(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/path/to/my/django_site/static'}),

  • Ändern Sie das Attribut src des script-Tag im HTML-Code an:

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top