Django-chronograph es una aplicación que permite programar la ejecución de tareas automáticas de manage.py utilizando cron. Permite especificar las tareas a realizar y el intervalo de tiempo en el que se deben repetir mediante el sitio de administración de Django. Esto es muy útil para automatizar tareas repetitivas de nuestro proyecto como pueden ser enviar un e-mail semanal automático a todos los usuarios ó eliminar diariamente cuentas de usuarios inactivos. Django-chronograph también almacena un listado de logs visible desde el sitio de administración que nos permite comprobar los resultados de las tareas ejecutadas.
Para instalar django-chronograph basta con seguir los siguientes pasos:
Descarga python-dateutil si aún no lo tienes. Es necesario para django-chronograph.
Descarga la última versión de django-chronograph del repositorio mediante svn:
svn checkout http://django-chronograph.googlecode.com/svn/trunk/ django-chronograph-read-only
Añade la aplicación chronograph al setting INSTALLED_APPS y la siguiente URL a tu configuración de URLs en urls.py:
url(r'^admin/chronograph/job/(?P<pk>\d+)/run/$', 'chronograph.views.job_run', name="admin_chronograph_job_run")
Después ejecuta el comando manage.py syncdb para que se creen las tablas necesarias en la base de datos.
Añade la siguiente línea a tu crontab especificando la ruta en la que se encuentra el archivo manage.py de tu proyecto. Para editar las tareas cron utiliza el comando crontab -e
* * * * * python /path/a/tu/proyecto/manage.py cron
Después podrás gestionar tus tareas automáticas desde el sitio de administración de Django.

Publicado por Antonio Melé el Jueves 9 de Abril de 2009 | 2 comentarios | Categorías: admin, aplicaciones, pluggables
django-rosetta es una aplicación que facilita enormemente el proceso de traducción de tus proyectos y aplicaciones que utilizan internacionalización. La aplicación ofrece un interfaz muy similar al sistema de administración de Django (de hecho hace uso de sus css). Permite visualizar todos los catálogos de traducción, porcentaje de términos traducidos, etc. y realizar traducciones de un modo realmente cómodo. Para cada término de traducción muestra un enlace para sugerir la traducción adecuada que funciona gracias a la AJAX Language API de Google y que nos ahorra mucho tiempo. django-rosetta busca todos los archivos .po de tu proyecto en los siguientes directorios:
Nota: Si añades directorios a LOCALE_PATHS recuerda escribirlos con el formato 'mi/directorio/locale' sin la barra / al final ya que django-rosetta la añade automáticamente.

Incluir django-rosetta en nuestro proyecto es realmente sencillo. Una vez descargada en cualquier parte de nuestro python path añadimos 'rosetta' a nuestras INSTALLED_APPS y a continuación incluimos la entrada de la URL base para la aplicación en la URLconf de nuestro proyecto:
urlpatterns = patterns('',
# ...
url(r'^rosetta/', include('rosetta.urls')),
# ...
)
Ya tenemos django-rosetta funcionando.
Por defecto django-rosetta permite acceder al sistema de traducción a los usuarios que son administradores. Para permitir que otros usuarios puedan realizar las traducciones crea el grupo 'translators' y añádelos al mismo.
Para que django-rosetta pueda guardar los cambios realizados en los catálogos de traducción (archivos .po) necesita que el servidor web tenga permisos de escritura en esos archivos. De no tenerlos django-rosetta permite descargar el catálogo editado para no perder las traducciones realizadas. Para cualquier tema referente a internacionalización echa un vistazo a la documentación oficial.
Publicado por Antonio Melé el Miércoles 3 de Diciembre de 2008 | 2 comentarios | Categorías: internacionalización, pluggables
Suscríbete a nuestro feed RSS y al feed de la comunidad para estar al tanto de todo lo que ocurre entorno a Django.
Tú también puedes escribir en éste blog. Para hacerlo basta con que nos digas sobre qué quieres escribir un artículo relacionado con Django.
Utilizar un formulario para modificar 2 modelos
Descubriendo objetos similares por sus etiquetas