Changes between Version 2 and Version 3 of Version2/Desarrollo/WebConsole
- Timestamp:
- Oct 25, 2010, 11:05:51 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Version2/Desarrollo/WebConsole
v2 v3 1 [[TranslatedPages]] 2 [[TOC(heading=Índice)]] 3 1 4 = Tecnologías = 2 5 3 Como framework principal usamos [http://webpy.org/ webpy]. Es liviano pero muy extensible. Para entender el proyecto hay que entender partes muy importantes de webpy como son: 6 EL lenguaje usado para programarlo es Python. Mantener y depurar un código en Python es más sencillo que en PHP. Tiene otras ventajas como que hay mucho trabajo hecho, está lo suficientemente extendido, no siempre hace falta Apache (o similares), se desarrolla muy rápido y se aprende aun más rápido. 7 8 Como framework principal usamos [http://webpy.org/ webpy]. En su web encontramos la documentación necesaria para entender el proyecto. Webpy es liviano pero muy extensible. Para entender el proyecto hay que entender partes muy importantes de webpy como son: 4 9 * Los templates. 5 10 * Los manejos de URL. 6 11 * Sesiones. 7 12 8 Para la base de datos usamos [http://www.sqlalchemy.org/ sqlalchemy].13 Para guardar la información usamos [http://www.sqlalchemy.org/ sqlalchemy]. Es una librería de python que abstrae el acceso a la base de datos. Es algo compleja, pero a su favor tenemos que nos aseguramos de que no se va a quedar pequeña y compatibilidad con diferentes bases de datos como SQLite, MySQL, PostgreSQL e incluso Oracle. 9 14 10 Otra tecnología que nos gustaría usar pero que todavía no hemos explotado todo su potencial quees [http://code.google.com/p/formalchemy/ formalchemy].15 Otra tecnología que nos gustaría usar pero de la que todavía no hemos explotado todo su potencial es [http://code.google.com/p/formalchemy/ formalchemy]. 11 16 12 Para que la interfaz sea traducible usamos gettext. 17 Para que la interfaz sea traducible usamos gettext, es decir, los archivos *.po y *.mo de toda la vida. 18 19 = En profundidad = 20 == web.ctx == 21 22 En la variable de entorno web.ctx podemos encontrar: 23 * pluginmanager: es un objeto que tiene una lista de todos los plugins. Se usa, además de instalar, activar, etc. para acceder a los plugins desde cualquier parte del código. 24 * orm: es un objeto con la sesión a la base de datos. Con él podemos realizar consultas o modificar la base de datos. 25 * session: los datos de sesión del usuario. 26 * render: las plantillas para renderizar las páginas. 27 * gettext y plugin_gettext: necesarios para realizar las traducciones. 28 29 == Internacionalización == 30 31 Es muy simple, si necesitas añadir alguna cadena para que sea traducida en el WebConsole: 32 {{{ 33 from decoratos import i18n 34 ... 35 36 @i18n 37 def funcion(): 38 ... 39 cadena = _("Texto que nos gustaría traducir") 40 ... 41 }}} 13 42 14 43 = Código = 15 44 16 Aquí se encuentrala consola web. #23845 En source:branches/version2/web encuentramos el código de la consola web. #238 17 46 18 47 == Ficheros ==