2010-08-23 5 views
0

J'essaie de faire fonctionner Protovis sur mon site Django. Voici mon exemple de code:Utiliser Protovis avec 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> 

Quand j'ouvre ce fichier directement dans Firefox, une image de Bonjour tout le monde 'Protovis s'affiche toguether avec la chaîne "{{object.name}}".

Mais lorsque j'accède au modèle de fichier .html à partir de mon serveur Django, je ne vois que {{object.name}} (le nom de l'objet est imprimé).

Je n'ai pas trouvé de problèmes similaires jusqu'à présent, répondant à l'utilisation de Protovis à Django. Si quelqu'un l'a fait fonctionner ou savoir ce que je fais mal, s'il vous plaît faites le moi savoir.

Merci,

Répondre

0

Vous avez demandé le fichier javascript à l'aide src="protovis-r3.2.js"

Quand vous regardez le fichier html directement, votre navigateur regardera dans le même répertoire que le fichier .html pour un fichier appelé protovis-r3.2.js. Cependant, lorsque vous demandez à Django de diffuser cette même page, il ne suit pas le même protocole. Voir this article pour plus d'informations.

Pour le faire fonctionner:

  • Déplacez le protovis-r.32.js fichier dans un nouveau répertoire: /path/to/my/django_site/static (où/chemin/vers/ma/django_site est le chemin absolu du django app)

  • Configurer urls.py avec la ligne:

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

  • Modifier l'attribut src de la balise de script dans votre code html à:

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

+0

merci Max, j'ai été coincé dans ce problème depuis un certain temps. =) – mhz

Questions connexes