Mastodon

Python, Odoo, Linux y DevOps con filosofía de Software Libre

Conociendo Typer

Al meterse en DevOps, automatizar tareas es clave y Python suele ser una gran herramienta. Aunque argparse es popular para CLI, su uso puede volverse engorroso en proyectos grandes. Ahí entra Typer, que permite escribir comandos limpios, con validaciones, tipado moderno y un enfoque más mantenible y modular para CLIs en Python.

[Leer más]

Nombres de Usuarios Únicos en Django

Cómo crear nombres de usuarios autogenerados únicos en Django: Generá un nombre combinando datos del usuario o strings aleatorios y chequeá en la base de datos que no exista. Si ya está tomado, modificalo hasta que sea único antes de guardar el usuario.

[Leer más]

Despliegue básico de Django con Docker, Traefik y CloudFlare

Aprende a desplegar una aplicación Django de forma segura y escalable usando Docker para contenerización, Traefik como reverse proxy con certificados SSL automáticos, y Cloudflare para protección DDoS, caché y gestión de DNS. Este tutorial cubre la configuración paso a paso, incluyendo la integración con HTTPS, optimización de tráfico y solución de problemas comunes. Ideal para entornos de producción con alta disponibilidad.

[Leer más]

Agregar línea con devolución en Odoo 15

Este código muestra cómo agregar una línea de devolución (con descuento negativo) a una factura borrador en Odoo. Usando account.move y product.template, crea una línea con precio negativo y la asocia a la factura especificada. Ideal para automatizar reembolsos o ajustes masivos. Útil para módulos de gestión de devoluciones o procesos contables automatizados. 🚀

[Leer más]

Odoo 16, Docker y Cloudflare: Editor web se queda colgado

Al implementar Odoo 16 con Docker, Traefik y Cloudflare, el editor web puede quedarse cargando indefinidamente debido al SSL Flexible de Cloudflare. La solución es agregar una regla de transformación en Cloudflare modificando el encabezado de respuesta: establece el ‘Content-Security-Policy’ con el valor ‘upgrade-insecure-requests’

[Leer más]