Info

Hola.

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

Comments

2 Comments

Post a comment
  1. friss #
    octubre 24, 2016

    Excelente trabajo Natán. App simple pero poderosa.

  2. ric #
    abril 15, 2017

    Interesante, muy práctico 😉

Leave a Reply

Basic HTML is allowed. Your email address will not be published.

Subscribe to this comment feed via RSS