David Sánchez

Volver a los casos

Portafolio personal en Django

Este mismo sitio: Django 5, modelos propios, panel a medida, CSS escrito a mano y despliegue con Gunicorn tras Nginx.

Lo construí para aprender Django de punta a punta, y para tener un sitio que pudiera cambiar sin depender de nadie.

Tiene cuatro modelos (proyectos, entradas, categorías y mensajes), vistas basadas en clases con paginación, un formulario de contacto que valida y guarda en base de datos, y el panel de administración personalizado con filtros y búsqueda.

Venía de escribir SQL a mano, así que lo que más me ayudó fue ver el ORM como lo que es: cada modelo es un CREATE TABLE, cada ForeignKey una clave foránea con su ON DELETE, y cada migración un ALTER TABLE versionado. Desde ahí el resto encaja solo.

En producción corre con Gunicorn detrás de Nginx, con los estáticos servidos por WhiteNoise y el servicio gestionado por systemd para que levante solo después de un reinicio. El CSS está escrito a mano, sin framework: son unas pocas clases y prefiero entender cada línea a arrastrar 200 KB para usar seis utilidades.