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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat