Info

Hola.

Posts from the Programación Category

A modo de prueba, programé un bot de Twitter que cada una hora publica un poema generado de manera aleatoria.

Para funcionar, el bot se nutre de versos tomados de alrededor de 600 haikus de autores reconocidos. Estos haikus están disponibles para ser consultados, y además, es posible sugerir más.

En general, el resultado es un micropoema sin sentido. Quizás, algo parecido a la poesía abstracta. A veces ni siquiera hay coherencia gramatical, pero otras veces surgen combinaciones interesantes.

Los siguientes son algunos ejemplos de lo que hace un_haiku:

Hoy por primera vez subí una aplicación a PyPI, el repositorio oficial de aplicaciones Python. Se sintió más o menos como cuando publiqué mi primer artículo en Wikipedia. Es decir, está bueno pero todos sabemos que no es algo tan importante.

La aplicación se llama django-easy-audit. Es una app de Django muy sencilla, que sirve para llevar un registro de todo lo que hacen los usuarios del proyecto. Algo así como una aplicación para hacer auditoría.

Qué hace

django-easy-audit utiliza las señales de Django para escuchar todos los eventos que suceden en tu proyecto, tales como cuando un usuario crea, actualiza o elimina un registro. Esto aplica a todos los modelos de todas las aplicaciones en tu proyecto.

Cuando alguno de estos eventos tiene lugar, django-easy-audit lo registra en el modelo CRUDEvent. Podés consultar esta información en el administrador de Django.

Además de registrar los eventos CRUD, django-easy-audit también registra cada login, logout o login fallido de los usuarios. Esta información se guarda en el modelo LoginEvent.

Por qué usarlo

Existen muchas aplicaciones para hacer auditoría de proyectos Django, pero la mayoría requiere que modifiques partes muy importantes de tu código. Por ejemplo, requieren que agregues campos a tus modelos, o que los hagas heredar de una clase determinada. Otras aplicaciones crean un espejo de cada uno de tus modelos, lo cual significa migraciones duplicadas. Etc.

No es que no funcionen o que no sean muy buenas aplicaciones. Pero en caso de que necesites algo más fácil y que no quieras que tu proyecto dependa tanto de una aplicación de terceros, django-easy-audit podría ser tu mejor opción.

Lo bueno de esta aplicación es que es fácil y rápida de instalar, y comienza a registrar eventos inmediatamente, sin que tengas que inyectar código en ningún lugar de tu proyecto.

Instalación

Para una mejor explicación, visita el repositorio en GitHub.

  1. Instala django-easy-audit ejecutando: pip install django-easy-audit
  2. Agrega “easyaudit” a las aplicaciones de tu proyecto (INSTALLED_APPS en settings.py).
  3. Agrega “easyaudit.middleware.easyaudit.EasyAuditMiddleware” al middleware de tu proyecto (MIDDLEWARE_CLASSES en settings.py).
  4. Ejecuta python manage.py migrate easyaudit para crear los modelos de la aplicación.
  5. ¡Listo! Ahora cada evento CRUD que suceda en todo tu proyecto será registrado en los modelos de auditoría, que podés consultar utilizando el administrador de Django.

Notas

A esta aplicación le faltan muchas cosas, que iré haciendo a medida que tenga tiempo. Por cualquier duda al respecto, o para reportar algún bug o sugerencia, podés contactarme vía Twitter a @soynatan o por email a natancalzolari@gmail.com.

Links