Latest entries
Crear una base de datos MySQL para Django
22 September 2010
Ya he escrito en varios artículos como crear una base de datos en MySQL. Para evitar repetir esto continuamente, voy a detallar la creación de una base de datos específica para Django.
Django: cambiar el idioma de trabajo en manage.py shell
22 September 2010
Ahora mismo estoy trabajando en un proyecto que gestiona distintos idiomas. Cuando trabajamos en el shell que ofrece Django, es necesario cambiar el idioma con el que se trabaja, ya que por defecto utiliza siempre 'en-us' (no importa la configuración de settings.py).
$ python manage.py shell
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.utils import translation
>>> translation.get_language()
'en-us'
Instalando Piwik
19 September 2010
Continuando con la serie de artículos de la migración, ahora toca uno de como instalar Piwik. Hasta el momento Piwik es la única alternativa en su categoría y ésta es la única razón por lo que lo estoy utilizando. Otro día detallaré más en profundidad.
Breves: coercing to Unicode y gettext en Django
18 September 2010
Siguiendo con el desarrollo del módulo de noticias, he encontrado el mismo error, pero esta vez debido al uso de gettext:
>>> model_instance.objects.all()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/pymodules/python2.6/django/db/models/query.py", line 71, in __repr__
return repr(data)
File "/usr/lib/pymodules/python2.6/django/db/models/base.py", line 345, in __repr__
u = unicode(self)
TypeError: coercing to Unicode: need string or buffer, __proxy__ found
Utilizando Django para hacer la migración
18 September 2010
Cuando tenemos un sitio en producción y realizamos una migración, la situación es delicada. Además he cambiado de PostgreSQL a MySQL (ya comentaré las razones), lo cual complica la cosa. Es necesario hacer volcados de las tablas y los contendidos desde PostgreSQL y hacer la importación desde MySQL. Lo más sencillo es aprovechar las posibilidades que ofrece Django.
Securizando el servidor de Linode
16 September 2010
Aprovechando la migración voy a tratar de escribir una serie de artículos acerca de algunos aspectos con los que he tenido que lidiar. Lo primero es preparar el acceso al servidor.
Cuando contratas un "Linode" (LInuxNODE, así es como llaman en Linode a los servidores que alquilan) debemos especificar una contraseña de root. Además, por defecto, el servidor SSH viene preparado para que podamos acceder.
Brevemente voy a hablar de dos aspectos importantes: el tratamiento de usuarios del sistema y la configuración del servidor SSH.
Migración completa
16 September 2010
Prácticamente la migración está hecha y ya estoy escribiendo desde el nuevo servidor. Han sido tres días asfixiantes, pero ya está resuelto. Aprovecho para hacer el despliegue de la nueva aplicación de noticias, lo cuál supone una ventaja y un problema.
De SliceHost a Linode
10 September 2010
CSRF token missing or incorrect en comments
9 September 2010
Sigo trabajando en el módulo de noticias (que espero tener listo pronto) y estoy adaptando los comentarios a la versión 1.2 de Django. Comments ya requiere del uso de CSRF, por lo que si no está correctamente configurado, lanzará un error.
Broadcom anuncia drivers software libre
9 September 2010
The driver, while still a work in progress, is released as full source and uses the native mac80211 stack. It supports multiple current chips (BCM4313, BCM43224, BCM43225) as well as providing a framework for supporting additional chips in the future, including mac80211-aware embedded chips.
Django: get_absolute_url y permalink
6 September 2010
Estoy aprovechando hoy para retomar la aplicación de noticias que estoy utilizando en MenudoProblema para sacar una nueva versión e introducir algunas mejoras. La primera de ellas: get_absolute_url.
Breves: python manage.py makemessages -l es
30 August 2010
Estoy ahora mismo tocando todos los temas de internacionalización y me encuentro con lo siguiente:
$ python manage.py makemessages -l es
Error: This script should be run from the Django SVN tree or your project or app tree. If you did indeed run it from the SVN checkout or your project or application, maybe you are just missing the conf/locale (in the django tree) or locale (for project and application) directory? It is not created automatically, you have to create it by hand if you want to enable i18n for your project or application
Django Fixtures: cargar datos al instalar
30 August 2010
Django ofrece un mecanismo para que automáticamente se puedan añadir datos al instalar una aplicación. De una esta forma, cada vez que se instale la aplicación, uno o varios modelos, empezarán con una serie de datos iniciales. Esto es lo que se conoce como fitxures.
Desinstalación de paquetes en sistemas Debian
29 August 2010
En sistemas Debian y basados (Ubuntu en mi caso) podemos consultar el estado de los paquetes con el comando dpkg:
# dpkg -l bash*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Nombre Versión Descripción
+++-=================================-=================================-==================================================================================
ii bash 4.1-2ubuntu3 The GNU Bourne Again SHell
un bash-completion <ninguna> (no hay ninguna descripción disponible)
un bash-doc <ninguna> (no hay ninguna descripción disponible)
Podemos ver que al lado de los nombres de los paquetes aparecen un par de letras: "ii" (para paquetes instalados) y "un" (para paquetes desinstalados). Al menos eso era lo que yo creía, pero hoy me he encontrado un paquete con "rc" :S
Pueden aparecer tres letras:
- Primera letra: estado del paquete
- Segunda letra: estado de los ficheros de configuración del paquete
- Tercera letra: errores relativos al paquete
El estado "rc" nos indica que el paquete está eliminado, pero no se han eliminado los ficheros de configuración. Mi sopresa es que con apt-get purge no elimina los ficheros de configuración, ¿por qué? Porque el paquete está desinstalado.
Sobre la compra de Intel: McAffe
27 August 2010
Y es que las compras se han puesto de moda.
CEO de Intel: "Necesitamos antivirus, ¿alguien puede comprarme McAfee?"
Horas más tarde, un empleado: "Hecho"
CEO: "Estupendo, ¿qué versión?"
Empleado: "¿Versión?"
La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.
