Una API REST de Toy Django con un Panel de Administración

API REST de Toy Django con un Panel de Administración para gestionar de forma eficiente tus datos. Una solución completa y fácil de usar para tu proyecto.

2 dic 2025 • 5 min de lectura • Equipo Q2BSTUDIO

API REST de Toy Django con un Panel de Administración

Como desarrollador que trabaja principalmente con Next.js y NestJS, recientemente revisé un pull request en un proyecto Django y me di cuenta de cuánto ha evolucionado el ecosistema Python desde la última vez que lo usé profesionalmente. En este artículo describo desde la perspectiva de un desarrollador de Node.js cómo montar un entorno Python moderno y poner en marcha una API REST de juguete con panel de administración.

Entorno Python moderno: virtualenv, venv y uv

Desde Python 3.3 venv forma parte de la librería estándar y sigue siendo una forma simple de crear entornos aislados con python -m venv venv && source venv/bin/activate. virtualenv sigue siendo útil y se instala con pip install virtualenv, pero si buscas algo más unificado te interesa uv. uv se instala con curl -LsSf https://astral.sh/uv/install.sh | sh o con pipx install uv y permite crear y activar entornos con uv venv && source .venv/bin/activate. Con uv añades paquetes con uv add nombre_paquete, genera pyproject.toml si falta y mantiene un archivo uv.lock para bloqueo de dependencias; instalar todas las dependencias se hace con uv sync. En la práctica uv centraliza creación de entornos, instalación y resolución de dependencias, reemplazando herramientas dispersas como virtualenv, pip, pip-tools o pipx en muchos flujos de trabajo, y ofrece una experiencia que a un desarrollador de Node.js le resulta familiar por su coherencia.

Diferencia clave con Node.js: nvm gestiona versiones globales de Node y dependencias globales por versión, mientras que venv, virtualenv y uv crean un entorno por proyecto con su propio interprete y carpeta de paquetes, de forma similar a cómo package.json y node_modules quedan aislados por proyecto en Node.

Primeros pasos con Django

Con el entorno activado instala Django con uv add django o pip install django. Crea el proyecto con django-admin startproject demo y arranca el servidor de desarrollo con python manage.py runserver. El servidor de desarrollo es ideal para desarrollar porque recarga automáticamente y muestra errores detallados, pero no es adecuado para producción. El servidor de desarrollo usa WSGI; para producción conviene usar ASGI con servidores como Uvicorn o Daphne y combinar con gunicorn o un proxy inverso adecuado para rendimiento y seguridad.

Servicio API de juguete y panel de administración

Para este ejercicio usamos SQLite para simplificar. Aplica las migraciones iniciales con python manage.py migrate y crea un superusuario con python manage.py createsuperuser --username admin --email tu@email.com. Añade Django REST Framework con uv add djangorestframework y crea una app api con cd demo && django-admin startapp api.

Modelos propuestos para el CRUD sencillo: Category con un campo name tipo CharField max_length 100; Product con una ForeignKey a Category, name CharField, description TextField y price DecimalField; Review con una ForeignKey a Product, rating IntegerField y comment TextField. Sobrescribe el metodo str en cada modelo para que el admin muestre representaciones legibles en la interfaz de administración.

Serializadores y vistas con DRF

Define serializers que hereden de ModelSerializer y expone solo los campos necesarios para evitar filtrar información inadvertida. Para simplicidad en esta demo puedes exponer CRUD publico con viewsets que hereden de ModelViewSet y permisos AllowAny. Registra rutas usando routers.DefaultRouter y monta el router en api/urls.py para obtener endpoints como /api/categories, /api/products y /api/reviews.

No olvides añadir rest_framework y demo.api en INSTALLED_APPS del settings para que todo funcione. Registra los modelos en admin.py para gestionarlos desde el panel de administración con admin.site.register ModelClass.

Genera migraciones con python manage.py makemigrations api y aplica con python manage.py migrate. Ejecuta python manage.py runserver y prueba con curl https://localhost:8000/api/reviews que devolverá un array vacío en una base de datos nueva. Luego puedes entrar en /admin, añadir categoría, producto y review y ver cómo los datos fluyen por la API.

Comparación rápida con herramientas del mundo JavaScript

Si vienes de Node.js la interfaz administrativa automática de Django puede parecer casi mágica, ya que viene lista para usar sin montar varias piezas. En JavaScript lo más parecido sería combinar ORM y herramientas adicionales: Prisma o TypeORM para el acceso a datos y migraciones, y AdminJS o soluciones como Strapi para un panel admin. Esa alternativa funciona pero implica unir más componentes que en Django, que ofrece una experiencia integral batteries included.

Buenas prácticas y siguientes pasos

En un proyecto real considerarías añadir paginación, filtrado y ordenación en la API, por ejemplo con django-filter y las utilidades de DRF. Para producción incorpora servidores ASGI, gestión de variables de entorno, logging estructurado, métricas y trazabilidad. Si desplegas en la nube puedes integrar monitoring y OpenTelemetry, y si alojas en proveedores gestionados piensa en servicios cloud para escalabilidad.

Q2BSTUDIO y cómo podemos ayudarte

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones a medida, inteligencia artificial y ciberseguridad. Ofrecemos desarrollo de software a medida y aplicaciones a medida que se adaptan a tus procesos, integración de agentes IA y soluciones de ia para empresas y servicios de inteligencia de negocio y power bi para explotar tus datos. También asesoramos y desplegamos infraestructuras en la nube con servicios cloud aws y azure y proporcionamos servicios de ciberseguridad y pentesting para proteger tus activos digitales.

Si buscas construir una aplicación Django con un panel admin y una API robusta, o quieres integrar modelos de inteligencia artificial en tu producto, te invitamos a conocer nuestros servicios de desarrollo en desarrollo de aplicaciones a medida y nuestras propuestas de inteligencia artificial para empresas. Podemos acompañarte desde el diseño de la arquitectura hasta el despliegue y la monitorización, incorporando mejores prácticas de seguridad y escalado.

Conclusión

Ha sido gratificante desempolvar conocimientos de Python y Django y comprobar que hoy en día el ecosistema es más cómodo y coherente, especialmente con herramientas como uv. Django sigue siendo una excelente opción para proyectos que requieren una capa de datos sólida y un admin listo para usar, y combinado con DRF permite construir APIs productivas con poco esfuerzo. En próximos pasos voy a experimentar con filtrado, paginación y OpenTelemetry para ver cómo esta pila puede servir como alternativa a un CMS headless en casos concretos. He subido este proyecto de prueba a GitHub para quien quiera explorarlo y hay un espejo del artículo en mi sitio personal.

Palabras clave relacionadas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat