Hola Mundo en Web.py

Problema.

Cómo escribir hola mundo con web.py

Solución.

 1 import web
 2
 3 urls = ("/.*", "hello")
 4
 5 app = web.application(urls, globals())
 6
 7 class hello:
 8     def GET(self):
 9         return "Hola, mundo!"
 10
 11 if __name__ == "__main__":
 12     app.run()

Ejecutamos nuestra aplicación web:

 $ python hello_world.py

TIP:

Haga URL’s que termine con o sin “/” vayan a la misma clase.

Añadir lo siguiente al principio de urls.

 '/(.*)/', 'redirect',

Con la siguiente clase manejadora para las URL.

class redirect:
    def GET(self, path):
        web.seeother('/' + path)

Nuestro código tendría el siguiente aspecto:

 1 import web
 2
 3 urls = ('/(.*)/', 'redirect',
 4         "/.*", "hello")
 5
 6 app = web.application(urls, globals())
 7
 8 class hello:
 9     def GET(self):
 10         return "Hola, mundo!"
 11
 12 class redirect:
 13     def GET(self, path):
 14         web.seeother('/' + path)
 15
 16 if __name__ == "__main__":
 17     app.run()

Si ejecutamos nuestro aplicativo web e ingresamos una URL como: http://127.0.0.1:8080/no_se_que/, siempre nos mostrará el mensaje “Hola, mundo!“. Ya que:

Al ingresar la URL http://127.0.0.1:8080/no_se_que/ el aplicativo web llama a la clase “redirect” provocando un “HTTP/1.1 GET /no_se_que/” – 303 See Other [1], redireccionando la llamada a “HTTP/1.1 GET /no_se_que” la cual es capturada por la regex (“/.*”, “hello”) que representa nuestra URL para llamar a la clase “hello“.

[1]: http://en.wikipedia.org/wiki/HTTP_303

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s