Graficos web

Chema Cortes pych3m4 en gmail.com
Vie Ene 13 03:52:48 CET 2006


El 13/01/06, Juan M. Puertas<juatman_2000 en yahoo.es> escribió:
>    > La imagen tienes que grabarla en la carpeta de ficheros estáticos
>    Esta si que es una lista eficiente, ¡Víctor, me has respondido "media
> hora antes" de que hiciera la pregunta, debe ser por la "horita menos"! ;-))
>    Buscando en la página web de TurboGears he encontrado la solución al
> problema, tal y como decías, Víctor, se trataba de poner la imagen en una
> carpeta de ficheros estáticos, ya sé el nombre y así quedaría la parte del
> código que no funcionaba:
> _________________________________________________________________________
>      im.save("gs/static/sobre.png", "PNG") # salvamos la imagen generada en
> la carpeta /gs/static
>      return '<img src="static/sobre.png">'  # la nueva página web la muestra
> _________________________________________________________________________

El nombre de la carpeta es configurable. Busca en la documentación de cherrypy:
http://www.cherrypy.org/wiki/StaticContent21

Otra opción que podría interesarte es obtener dinámicamente el gráfico
"al vuelo", en lugar de tenerlo que guardar para luego buscar en el
disco. Sería algo así (no lo he probado):

  @cherrypy.expose
  def miPNG(nombre):
    #...se crea la imagen PIL en 'im'
    cherrypy.response.headerMap["Content-Type"] = "image/png"
    return im.im2png()


Prueba a ver. Si no te sale, podría concretar mejor este fin de
semana, ya que ahora no puedo.

>   Espero que esto sirva a quien tenga el mismo problema en el futuro :-)
>   Ahora me pregunto si seguir con TurboGears (parece muy bien documentado),
> si tendré problemas para encontrar un alojamiento web con TurboGears y si es
> mejor que me curre los CGIs yo mismo con mod_python, por ejemplo.

El tema de CGIs no te lo recomiendo. Es simple, pero mantener una web
con sesiones y cookies te puede costar bastante.

Con mod_python y PSP se puede programar bastante bien. Al venir con la
instalación básica del apache que hacen algunas distribuciones de
linux, es muy fácil encontrar sitios con mod_python en internet.

Turbogears requiere bastante cosas (cherrypy, kid/cheetah,
sqlobjects,...). Aunque no hay problema para instalarlos como usuario
normal, es posible que tengas problemas con las versiones.
Esforzándote mucho, puedes encontrar lugares con cherrypy donde
podrías añadir el resto, pero ten en cuenta que turbogears está en
desarrollo, y que necesitarás actualizar las versiones muy
frecuentemente. Por ejemplo, el cherrypy instalado suele ser de
versiones anteriores a las que exige turbogears.

Mi consejo es que te decidas por servidores virtuales (VPS/VDS) en los
que tienes todos los privilegios root para configurar un servidor web
a tu gusto. Además podrás instalar y actualizar el turbogears tal como
dicen las instrucciones, con "muchos huevos" (python-eggs).




Más información sobre la lista de distribución Python-es