Saltar al contenido principal
Django
Especialización Nivel medio certificado-django-rest-framework

Django REST Framework

Django ·Backend

Curso para construir APIs REST profesionales con Django y Django REST Framework, el estándar de backends Python en SaaS, portales B2B, e-commerce, banca y Administración Pública. Aprendes a diseñar serializadores, vistas y ViewSets, aplicar autenticación con tokens y JWT, permisos por recurso, paginación, filtros y throttling, documentar la API con OpenAPI y validar el resultado con tests. Al terminar entregas una API lista para consumir desde frontends SPA o aplicaciones móviles con cobertura de pruebas alta.

Evidencias FUNDAE Activación guiada Evaluación con IA Sin permanencia

¿Prefieres verlo en directo? Agenda una demo sin compromiso.

Formación corporativa: este curso se activa bajo pedido para tu organización. Adaptamos temario, calendario y modalidad (teleformación, aula virtual o mixto).

Contenido del curso

Framework web de Python para desarrollo rápido, seguro y escalable.

14 módulos 88 lecciones 14 ejercicios evaluados por IA 16 tests
  • Introducción a Django Lección
  • Instalación y configuración django con venv Lección
  • Arquitectura de un proyecto Django Lección
  • Primera aplicación Django Lección
  • Configuración avanzada de settings.py Lección
  • Ejercicios: Introducción, instalación y entorno Django Test

Detalles del curso

Django REST Framework (DRF) representa una de las herramientas más robustas y versátiles para el desarrollo de APIs REST en Python. Este framework, construido sobre Django, proporciona un conjunto completo de herramientas que permiten crear servicios web escalables y mantenibles con una arquitectura sólida y bien estructurada.

Fundamentos de Django

Django es un framework web de alto nivel que sigue el patrón arquitectónico Model-View-Template (MVT), una variación del conocido patrón MVC. Su filosofía se basa en el principio "Don't Repeat Yourself" (DRY) y en la convención sobre configuración, lo que permite a los desarrolladores crear aplicaciones web complejas de manera eficiente.

La arquitectura de Django se organiza en torno a aplicaciones modulares que pueden reutilizarse entre proyectos. Cada aplicación contiene sus propios modelos, vistas, plantillas y URLs, creando un ecosistema cohesivo pero flexible. Esta modularidad es especialmente valiosa cuando se desarrollan APIs, ya que permite organizar los endpoints de manera lógica y escalable.

El sistema de modelos de Django proporciona una abstracción de alto nivel para interactuar con bases de datos relacionales. A través del Object-Relational Mapping (ORM), los desarrolladores pueden definir estructuras de datos como clases Python, eliminando la necesidad de escribir SQL directamente en la mayoría de casos.

from django.db import models

class Autor(models.Model):
    nombre = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    fecha_registro = models.DateTimeField(auto_now_add=True)
    
    def __str__(self):
        return self.nombre

class Libro(models.Model):
    titulo = models.CharField(max_length=200)
    isbn = models.CharField(max_length=13, unique=True)
    fecha_publicacion = models.DateField()
    autor = models.ForeignKey(Autor, on_delete=models.CASCADE)
    
    def __str__(self):
        return self.titulo

Entornos y configuración

El desarrollo profesional con Django requiere una gestión adecuada de entornos virtuales. Python Virtual Environment (venv) permite aislar las dependencias de cada proyecto, evitando conflictos entre versiones de librerías y manteniendo un entorno de desarrollo limpio y reproducible.

La configuración de Django se centraliza en el archivo settings.py, donde se definen aspectos cruciales como la conexión a la base de datos, aplicaciones instaladas, middleware, y configuraciones de seguridad. Esta centralización facilita la gestión de diferentes entornos (desarrollo, pruebas, producción) mediante archivos de configuración específicos.

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'biblioteca_db',
        'USER': 'usuario_db',
        'PASSWORD': 'contraseña_segura',
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS': {
            'charset': 'utf8mb4',
        },
    }
}

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'rest_framework',
    'biblioteca',  # Aplicación personalizada
]

Modelado de datos

El diseño de modelos en Django va más allá de la simple definición de campos. Las relaciones entre modelos (uno a uno, uno a muchos, muchos a muchos) permiten representar estructuras de datos complejas de manera intuitiva. Django proporciona diferentes tipos de campos que se mapean automáticamente a tipos de datos SQL apropiados.

Las asociaciones entre modelos se implementan mediante claves foráneas y campos de relación especializados. Estas relaciones no solo definen la estructura de la base de datos, sino que también proporcionan una API Python elegante para navegar entre objetos relacionados.

class Categoria(models.Model):
    nombre = models.CharField(max_length=50)
    descripcion = models.TextField(blank=True)

class Libro(models.Model):
    titulo = models.CharField(max_length=200)
    autor = models.ForeignKey(Autor, on_delete=models.CASCADE, related_name='libros')
    categorias = models.ManyToManyField(Categoria, related_name='libros')
    fecha_publicacion = models.DateField()
    disponible = models.BooleanField(default=True)
    
    class Meta:
        ordering = ['titulo']
        verbose_name_plural = 'Libros'

Django REST Framework

Django REST Framework extiende las capacidades de Django para crear APIs REST de manera declarativa y eficiente. DRF proporciona componentes especializados como serializadores, vistas basadas en clases, y sistemas de autenticación y permisos que simplifican significativamente el desarrollo de servicios web.

La arquitectura de DRF se basa en el patrón de separación de responsabilidades, donde cada componente tiene un propósito específico. Los serializadores manejan la conversión entre objetos Python y formatos de intercambio como JSON, las vistas procesan las peticiones HTTP, y los permisos controlan el acceso a los recursos.

Serializadores

Los serializadores constituyen el corazón de DRF, encargándose de convertir instancias de modelos Django en representaciones JSON y viceversa. Estos componentes no solo manejan la serialización, sino que también proporcionan validación de datos y lógica de creación y actualización de objetos.

Un serializador bien diseñado puede incluir campos calculados, validaciones personalizadas y relaciones anidadas. DRF ofrece diferentes tipos de serializadores, desde los básicos hasta los ModelSerializer que se generan automáticamente a partir de modelos Django.

from rest_framework import serializers
from .models import Autor, Libro

class AutorSerializer(serializers.ModelSerializer):
    total_libros = serializers.SerializerMethodField()
    
    class Meta:
        model = Autor
        fields = ['id', 'nombre', 'email', 'fecha_registro', 'total_libros']
        read_only_fields = ['fecha_registro']
    
    def get_total_libros(self, obj):
        return obj.libros.count()

class LibroSerializer(serializers.ModelSerializer):
    autor_nombre = serializers.CharField(source='autor.nombre', read_only=True)
    
    class Meta:
        model = Libro
        fields = ['id', 'titulo', 'isbn', 'fecha_publicacion', 'autor', 'autor_nombre']
    
    def validate_isbn(self, value):
        if len(value) != 13:
            raise serializers.ValidationError("El ISBN debe tener 13 dígitos")
        return value

Otros cursos de Django

Especialización ·Nivel medio

Django Templates

Curso para construir aplicaciones web monolíticas con Django y renderizado en servidor: intranets, CMS, portales internos y back-offices que entregan rápido sin necesidad de SPA. Aprendes el ORM con relaciones y migraciones, formularios y ModelForms, plantillas con Django Template Language y herencia, vistas basadas en clases, autenticación integrada y administración personalizada. Al terminar entregas una aplicación de gestión completa con auth, CRUD y panel de administración listo para producción.

Especialización ·Nivel medio

Django: aplicaciones web con MVT y datos

Curso único para equipos Python que entregan intranets, back-offices y portales con Django renderizado en servidor, donde la velocidad de iteración pesa más que una SPA paralela. Cubres proyecto y configuración por entornos, modelado de dominio con el ORM y relaciones avanzadas, vistas funcionales y basadas en clases, plantillas DTL con herencia, formularios con ModelForm y formsets, y gestión de estáticos y media. Al terminar dominas el ciclo completo del patrón MVT con un CRUD server-rendered listo para mantener.

Especialización ·Avanzado

Django: autenticación, admin y operación en producción

Curso avanzado de Django para equipos que ya tienen vistas y APIs en marcha y necesitan llevar el producto a producción con criterios profesionales. Aprendes autenticación y autorización con usuarios, grupos y permisos, panel de administración personalizado, middleware y señales, envío de emails, caché, testing automatizado y despliegue con Docker, Gunicorn y nginx, además de seguridad HTTP con cabeceras CSP y tareas en segundo plano. Al terminar el equipo opera Django con back-office real, releases reproducibles y pruebas verdes.

Curso completo ·Nivel medio

Django

Curso completo para construir y operar aplicaciones web y APIs REST empresariales con Django, el framework Python de referencia en intranets, portales ciudadanos, banca y plataformas SaaS. Cubres el ORM con relaciones avanzadas, el patrón MVT con plantillas y formularios, Django REST Framework con autenticación JWT, panel de administración, middleware, señales, testing, seguridad HTTP y despliegue con Docker. Al terminar entregas un proyecto integrador con backend Django listo para mantener en producción.

Llave en mano para empresas

¿Formación para tu equipo en esta tecnología?

Tú nos dices a quién formar y nosotros configuramos la plataforma con tu marca, damos de alta a tu gente, evaluamos las entregas con IA y te entregamos los certificados y los informes técnicos para tu gestor FUNDAE. Catálogo amplio con teleformación, aula virtual o mixto. Sin permanencia, sin coste de setup.

¿Prefieres verlo en directo? Agenda una demo.

Preguntas frecuentes

¿Django REST Framework es bonificable por FUNDAE para mi empresa?
Puede ser bonificable cuando la acción cumple los requisitos aplicables. La plataforma aporta evidencias técnicas: seguimiento de tiempos, registro de conexiones, foros, encuestas y certificados para que tu entidad organizadora o gestoría revise la documentación.
¿En qué modalidades se imparte Django REST Framework?
En tres modalidades: teleformación (online asíncrona), aula virtual privada en directo y mixta. Adaptamos temario, calendario y modalidad al equipo.
¿Se adapta Django REST Framework al nivel de mi equipo?
Sí. Adaptamos temario, calendario y modalidad al nivel y al stack del equipo, con ejercicios evaluados por IA y certificado verificable.
¿Cuánto tarda en activarse para mi empresa?
La activación corporativa estándar es rápida, sin coste de setup ni permanencia.