close
Warning:
Failed to sync with repository "ogBrowser-Git": (1366, "Incorrect string value: '\\xF0\\x9F\\x93\\xA6 I...' for column 'message' at row 1"); repository information may be out of date. Look in the Trac log for more information including mitigation strategies.
- Timestamp:
-
Oct 25, 2010, 9:05:51 AM (15 years ago)
- Author:
-
adelcastillo
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
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 que es [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 encuentra la consola web. #238 |
| 45 | En source:branches/version2/web encuentramos el código de la consola web. #238 |
17 | 46 | |
18 | 47 | == Ficheros == |