2011-03-02 12 views
5

Estoy tratando de escribir una aplicación web de Python simple utilizando el servidor web de Tornado y tengo problemas para usar las bibliotecas de JavaScript que necesito. Quería utilizar la Protovis JavaScript trazado de la biblioteca, por lo que añade fragmento de código de la siguiente 'Hola Mundo' a mi template.html:Problemas con las bibliotecas de Tornado y 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> 

Siempre que corro el servidor web, sin embargo, e intente acceder a la página, consigo el siguiente error en la consola:

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

el archivo protovis.js está en el mismo directorio que mi archivo server.py, y todos sus permisos se establecen correctamente. Obtengo el mismo error cuando intento crear un archivo src y JavaScript, así que sé que no hay ningún problema con el archivo protovis.js, sino con el enrutamiento del servidor Tornado.

¿Alguien sabe cómo puedo crear correctamente este código de JavaScript, gracias.

Respuesta

13

Debe leer la documentación sobre static files.

En particular, la forma estándar es:

  • Crear un directorio 'estático' en la raíz de su aplicación

  • Añadir lo siguiente a la configuración de la aplicación:

    " static_path ": os.path.join (os.path.dirname (archivo), "estática")

  • poner el Protovis-d3.2.js en su directorio estática

  • Consulte el archivo /static/protovis-d2.2.js en el código HTML
+1

Muchas gracias, esto perfectamente me ayudó – Swaraj

Cuestiones relacionadas