[pyar] Framework web
Horacio G. de Oro
hgdeoro en gmail.com
Mie Jun 1 22:45:36 ART 2011
2011/6/1 Martin Cerdeira <martincerdeira en gmail.com>:
> Vuelvo al ruedo con una pregunta similar a la que hice una vez (ya pregunté
> si me recomendaban usar frameworks web o no)
>
> Esta vez la pregunta es:
>
> Tenés que hacer algo web, con python, pero, querés hacerlo rápido (tirar los
> scripts y poco más), no querés configurar 20 mil cosas, es decir, querés
> algo que sea a python/web lo que PyQt es a python/desktop [0].
> Qué usas??
>
CherryPy es bastante liviano y ágil. Lo usé para hacer web-enable una
librería q' desarrollé para comunicarte con Arduinos desde Python. Se
ve más fácil con un poco de código: por ejemplo, para levantar
CherryPy, con soporte para sesiones y para usar Jinja2 como motor de
templaes:
def start_webserver():
conf = {
'/': { 'tools.sessions.on': True, },
'/static': { 'tools.staticdir.on': True,
'tools.staticdir.dir': '/path/a/recursos/estaticos', } }
jinja2_env = jinja2.Environment(loader=jinja2.FileSystemLoader(
'/path/a/recursos/estaticos'))
cherrypy.quickstart(Root(jinja2_env), '/', config=conf)
Y los URLs los asociás a métodos usando anotaciones. Por ejemplo, el
siguiente método se ejecuta al acceder a /list
@cherrypy.expose
def list(self):
pass
Y si necesitas devolver JSON, te lo transforma automáticamente:
@cherrypy.tools.json_out()
@cherrypy.expose
def get_data(self):
return { 'count': 5, 'otro_atributo': 'otro valor', }
(podes ver un ejemlpo completo en
https://github.com/hgdeoro/py-arduino-proxy/blob/master/src/arduino_proxy/web.py)
Saludos!
Horacio
More information about the pyar
mailing list