2011-03-02 7 views
5

Sto provando a scrivere una semplice applicazione web Python utilizzando il server Web Tornado e sto avendo problemi nell'utilizzo delle librerie JavaScript di cui ho bisogno. Ho voluto usare il Protovis JavaScript tramando biblioteca, così ho aggiunto il codice seguente 'Ciao Mondo' frammento alla mia template.html:Problemi con le librerie Tornado e JavaScript

<script type="text/javascript" src="/protovis-d3.2.js"></script> 
<script type="text/javascript+protovis"> 
new pv.Panel() 
    .width(150) 
    .height(150) 
    .anchor("center") 
    .add(pv.Label) 
     .text("Hello, world!") 
     .root.render(); 
</script> 

Ogni volta che si esegue il server web, tuttavia, e provare l'accesso alla pagina, ottengo il seguente errore alla console:

WARNING:root:404 GET /protovis-d3.2.js (127.0.0.1) 0.46ms 

il file protovis.js si trova nella stessa directory come il mio file server.py, e tutte le sue autorizzazioni siano impostate correttamente. Ottengo lo stesso errore quando provo a src e JavaScript, quindi so che non c'è un problema con il file protovis.js, ma qualcosa con il routing del server Tornado.

Qualcuno sa come posso correttamente src questo codice JavaScript, grazie.

risposta

13

Si consiglia di leggere la documentazione relativa a static files.

In particolare, il modo standard è quello di:

  • Creare una directory 'statica' nella root della vostra applicazione

  • Aggiungere la seguente alle impostazioni dell'applicazione:

    " static_path ": os.path.join (os.path.dirname (file)," statico ")

  • Inserire i Protovis-d3.2.js nella directory statica

  • Fare riferimento al file /static/protovis-d2.2.js nel codice HTML
+1

Grazie mille, questo perfettamente mi ha aiutato – Swaraj