Desarrollo web con Python y Web.py – parte 1

Hola a todos en este primer tuto de web.py se pretende mostrar una idea clara del funcionamiento de este poderoso small framework para desarrollo web como siempre de una forma rápida y concreta.

Qué es web.py?

web.py es un framework web para Python que es tan simple como potente. web.py es de dominio público, y se puede usar para cualquier propósito sin ningún tipo de restricciones.

Para qué sirve web.py?

Existen otro framework como Django o web2py (los que e usado) demasiado robustos, pero si ya conoces python y quieres desarrollar de forma rápida un sitio web, web.py es lo que necesitas. Y hoy te lo presentemos.

Requisitos.

Python, web.py y algún SGBD que en nuestro caso sera postgreSQL y su driver para python correspondiente psycopg2.

Para nuestros tutos usaremos la ultima versión hasta el momento la 0.35 de web.py

INSTALACIÓN

$ wget -c http://webpy.org/static/web.py-0.35.tar.gz
$ tar -xvvzf web.py-0.35.tar.gz

# cd web.py-0.35/
# python setup.py install

Versificamos:

$ python
Python 2.5.5 (r255:77872, Nov 28 2010, 19:00:19)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import web
>>> web.__version__
'0.35'

INCIANDO

Para crear nuestra primera aplicación «hola mundo» vamos a crear un fichero hola.py:

  1 # −*− coding: UTF−8 −*−
  2 """
  3 Primer ejemplo para Web.py version 0.3
  4 """
  5 import web

En la línea 5 importamos el modulo web.py el cual nos cargara todos los objetos del framework.

  6
  7 print web.__version__
  8

Imprimimos en la linea 7 la versión de web.py que estamos usando. Ahora necesitamos decirle a web.py que URL’s son validas para nuestro sitio web.

  9 # URL:
 10 urls = (
 11   # 'regex para url', 'clase donde se envia la petición'
 12   '/', 'index'
 13 )

La primera parte es una expresión regulas ( ‘/’ )que hace referencia a la raíz de nuestro sitio web, indicándole una petición en este caso GET a nuestro servidor para que nos sirva la raíz del server. La segunda parte es el nombre de la Clase que manejara la petición GET de la expresión regular.

Ahora tenemos que crear una solicitud especificando las urls.

 14
 15 # Aplicacion donde se especifican las urls.
 16 app = web.application(urls, globals())
 17

Esto le dice a web.py que se creara una aplicacion con las direcciones URL que están en urls y buscara las clases en el espacio de nombres global de este archivo.

Ahora creamos la clase index que contendrá la definición para los métodos GET o POST según sea el caso.

 18 # Clase index:
 19 class index:
 20   def GET(self):
 21     return "Hola, Mundo!"
 22

En la linea 20 definimos la función GET que sera llamada por web.py en el momento que se haga una solicitud GET para /.

Por ultimo le indicamos a  web.py que empiece a servir las paginas web según la aplicación que hemos creado.

 23 # corremos nuestro app web.py
 24 if __name__ == "__main__":
 25   app.run()

INICIANDO EL SERVIDOR

En la linea de comando ejecutamos nuestro script como cualquier otro en python.

$ python hola.py
0.35
http://0.0.0.0:8080/

Con esto tenemos ejecutando un servidor web en nuestra maquina y solo basta con visitar http://localhost:8080 donde veremos un mensaje:

Hola, Mundo!

Con un poco de imaginación podemos hacer cosas como estas:

  1 #!/usr/bin/env python
  2
  3 import web
  4 rutas = (
  5 '/', 'hola'
  6 )
  7
  8 app = web.application(rutas, globals())
  9
 10 class hola:
 11   def GET(self):
 12     return """
 13     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 14     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
 15     <head>
 16     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 17         <title>Hola Mundo...</title>
 18         <style type="text/css" media="screen">
 19           h1 {text-align:center; color: #444;}
 20         </style>
 21     </head>
 22     <body>
 23       <h1>Hola Web.py</h1>
 24     </body>
 25     </html>
 26     """
 27
 28 if __name__ == '__main__':
 29   app.run()

Claro que esta no es la idea ya que no seria muy funcional, en la próxima entrega veremos algo de plantillas las cuales nos facilitan mucho el poder integrar python a la web.

Con esto damos por terminado la primera parte de nuestro viaje con web.py

By: Jolth


3 respuestas a “Desarrollo web con Python y Web.py – parte 1

Add yours

  1. Muy buen post! una pregunta donde se ejecuta el comando: python setup.py install no se donde se debe ejecutar ese comando alguien que me hiciera el favor de explicarme gracias!

Deja un comentario

Crea un blog o un sitio web gratuitos con WordPress.com.

Subir ↑