Publica tu how-to

Dinos como hacer lo que sabes hacer, mándanos un email a wdonet@gmail.com y lo publicamos (dos días máximo) o si te interesa unirte al equipo de redactores, también háznoslo saber por correo.

Configuración de TurboGears 2.0

Introducción
TurboGears es un framework para desarrollar aplicaciones web basadas en el lenguaje de programación Python

La versión 2 está basada en el modelo MVC, con los siguientes frameworks como base:

-SQLAlchemy, el ORM que sirve como Modelo.
-Genshi, el framework que permite manipular la Vista a través de tags específicos.
-Pylons, proporciona el Controlador.



Requerimientos previos
Para poder usar TurboGears se necesita tener lo siguiente:

-Python a partir de la versión 2.4 (por ahora la versión 3 no es compatible)

-Las setuptools (peak.telecommunity.com/dist/ez_setup.py)

-Drivers adecuados para las bases de datos que se utilizarán. SQLAlchemy soporta gran número de controladores de BD, como SQLite, MySQL, PostgreSQL, etc. El lector deberá encargarse de instalar los drivers adecuados para Python según sus necesidades.

-Otras dependencias, por ejemplo los headers de Python que se pueden encontrar en las utilidades de instalación de la distribución Linux que se esté usando, o la win32API para Windows.

-Virtualenv, una utilidad que permite establecer un ambiente de desarrollo y producción local a cierto directorio, con el que TurboGears evita problemas de dependencias y demás. Se pueden usar las Setuptools para esto:
easy_install virtualenv

Instalación del ambiente
La manera más sencilla es utilizar el script que se encuentra en:

http://www.turbogears.org/2.0/downloads/current/tg2-bootstrap.py

Y después ejecutarlo con:
python tg2-bootstrap.py --no-site-packages tg2env

Donde tg2env es la ruta a un directorio previamente creado y en donde se almacenará el ambiente virtual de desarrollo y/o producción.

Para continuar, antes debe activarse el ambiente virtual. En tg2env (o cualquier nombre que se le haya dado) se encuentra el script bin/activate (o activate.bat para Windows). Solo hay que ejecutarlo, directamente en Windows, o en Linux con:

source bin/activate

El prompt de la consola cambiará a algo como
(tg2env) $prompt_por_default_de_la_consola

Al terminar de trabajar con TurboGears se debe desactivar el ambiente con

deactivate

En Windows debe ejecutarse bin/deactivate.bat


Instalación de TurboGears
Con virtualenv activado, sólo queda instalar TurboGears:
easy_install -i http://www.turbogears.org/2.0/downloads/current/index tg.devtools

La manera de probar que todo esté bien es ejecutando el script paster; Paste es un programa Python que permite publicar un servidor HTTP ligero y que TurboGears adapta y utiliza para varias tareas (aunque, claro está, habrá que investigar todavía la manera de publicar en otro servidor web, como Apache con mod_python):

paster --help

debe mostrar la ayuda del script, y con la misma al final un par de comandos nuevos para TurboGears.


Creación de un nuevo proyecto
Utilizando paster, se puede crear y configurar un proyecto de TurboGears de manera sencilla y rápida:

paster quickstart

A dicho script habrá que proporcionarle el nombre común del proyecto, el nombre Python del mismo y si se desea activar autenticación. Con eso basta para crear el proyecto en el directorio tg2env/nombre_comun_del_proyecto

Se debe ejecutar entonces:

cd tg2env/nombre_comun

python setup.py develop

Se puede editar el archivo nombre_comun/nombre_python/websetup.py para editar datos iniciales de la BD, como de la autenticación.

Si se hace ésto o si se activó la autenticación aún sin haberla editado, hay que ejecutar:

paster setup-app development.ini

El archivo development.ini contiene las configuraciones del proyecto, por ejemplo:

-el puerto en que se publicará la aplicación (por defecto el 8080)
-la dirección IP a la que se publicará (por defecto localhost, si se coloca 0.0.0.0 se publicará a toda la red)
-la conexión a la base de datos (por defecto un archivo de SQLite)

Para deployar el proyecto hay que ejecutar:

paster serve development.ini

Con paster serve se pueden usar también otros parámetros, por ejemplo:

--reload para que el servidor detecte automáticamente cambios en los archivos del proyecto

--daemon para ejecutar el servidor como demonio en segundo plano (por defecto en el archivo paster.log se almacenará el registro que vaya pintando el servidor conforme se utilice)

--stop-daemon para detener el servidor si está activo en segundo plano

--status da el estado del servidor en caso de estar en segundo plano

--help da la ayuda completa del script


Más información
El sitio de TurboGears contiene documentación, tutoriales y mucha más información.

Los sitios particulares de cada plataforma en que se basa TurboGears también serán esenciales para una completa documentación (Python, SQLAlchemy, Genshi, Pylons).

El sitio de PythonPaste también será útil.

Como siempre, Google es un buen compañero, o el buscador de preferencia en todo caso.



---
Javier Novoa C.
http://invernalia.homelinux.net
(Posted using BlogPress from my iPodTouch)

1 comentario:

Que opinas sobre esta publicación?