Saltar al contenido principal
Django
Framework Backend

Formación corporativa en Django

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

Evidencias FUNDAE Activación guiada Evaluación con IA Itinerario a medida

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

Resumen del itinerario en Django

Para qué equipos

Equipos técnicos que incorporan Django a su stack productivo o consolidan competencias antes de un proyecto crítico. Adaptamos el temario al nivel de partida y al stack acompañante.

Qué se trabaja

Lecciones aplicadas y ejercicios prácticos en Django resueltos en el IDE del navegador, con corrección automática por IA y proyectos integradores revisados con rúbrica explícita.

Cómo se contrata

Propuesta concreta sobre teleformación, aula virtual o plan mixto. Sin coste de setup, sin permanencia, con evidencias FUNDAE exportables para la entidad organizadora.

Activación en 3 pasos

Diseñamos el itinerario, el alcance y el calendario según el nivel y el stack de tu equipo. Evidencias FUNDAE exportables, sin permanencia ni coste de setup.

  1. 1 Demo o llamada
    30 min con el fundador. Cuéntanos el stack, el nivel y el calendario.
  2. 2 Propuesta
    Itinerario y modalidad (teleformación, aula virtual o mixto) con evidencias FUNDAE exportables.
  3. 3 Tenant activo
    Tu equipo entra con SSO, asignaciones automáticas y panel admin completo.

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

Qué incluye la formación

Toda la plataforma CertiDevs disponible para tu equipo durante el itinerario. Sin costes ocultos ni módulos premium.

Entornos de programación online, sin instalar nada en el equipo del alumno.
Evaluación con IA de cada ejercicio de código, proyecto y ensayo, con feedback y nota.
Certificado verificable con NIF del alumno y firma digital de CertiDevs.
Panel admin de empresa: alta masiva CSV, asignaciones, foros y encuestas.
Rol inspector FUNDAE con acceso de solo lectura a actividad y resultados.
Reportes exportables en Excel: accesos, progreso, completion y satisfacción.
Integración con tu LMS: LTI 1.1 + 1.3 Deep Linking y exportación SCORM 1.2.
SSO con tu Active Directory (OIDC, Microsoft Entra, Google Workspace).
White-label opcional: subdominio propio, logo y tema de tu marca.
Pruebas técnicas: mismos exámenes para evaluar candidatos en selección.
Foros y mensajería tutorial integrados, requisito FUNDAE cubierto de serie.
Soporte directo de nuestro equipo durante toda la formación.

Cursos disponibles en Django

Cada curso se puede asignar de forma independiente o combinar en un plan formativo.

Curso completo 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.

Ver curso
Especialización Django REST Framework

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.

Ver curso
Especialización 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.

Ver curso
Especialización 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.

Ver curso
Especialización 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.

Ver curso

Ver todos los cursos del catálogo

Stacks habituales que las empresas combinan en sus planes formativos junto a Django.

Estructura del itinerario

Módulos, lecciones y ejercicios del itinerario

Introducción y entorno

Django es un framework web de alto nivel para Python que facilita el desarrollo rápido y limpio de aplicaciones web. Creado en 2005, Django sigue el principio "Don't Repeat Yourself" (DRY) y el patrón arquitectónico Model-View-Template (MVT), proporcionando una estructura sólida para construir aplicaciones web escalables.

¿Qué es Django?

Django se define como un framework web completo que incluye todo lo necesario para desarrollar aplicaciones web modernas. A diferencia de otros frameworks minimalistas, Django viene con una amplia gama de funcionalidades integradas que aceleran el proceso de desarrollo.

Las características principales de Django incluyen:

  • ORM integrado para interactuar con bases de datos sin escribir SQL
  • Sistema de autenticación robusto y seguro
  • Panel de administración automático para gestionar contenido
  • Sistema de plantillas flexible para generar HTML dinámico
  • Manejo de formularios con validación automática
  • Middleware personalizable para procesar peticiones y respuestas

Arquitectura MVT

Django implementa el patrón Model-View-Template, una variación del conocido patrón MVC:

  • Model: Define la estructura de datos y la lógica de negocio
  • View: Contiene la lógica de presentación y maneja las peticiones HTTP
  • Template: Se encarga de la presentación visual y el renderizado HTML

Esta separación de responsabilidades facilita el mantenimiento del código y permite que diferentes desarrolladores trabajen en distintas capas sin interferir entre sí.

  • 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

Modalidades de contratación

Elige la modalidad que mejor se adapte a tu organización. Sin permanencia ni coste de setup.

Teleformación

Acceso autónomo al itinerario en la plataforma: lecciones, vídeos, ejercicios evaluados por IA y proyecto integrador. Con tutorización y foro técnico.

Solicitar propuesta

Aula virtual privada

Sesiones en directo sobre cohorte cerrada del cliente. Práctica guiada, resolución de dudas, evaluación al cierre y evidencias exportables.

Solicitar propuesta

Plan mixto

Teleformación con sesiones en directo intercaladas. Equilibra autonomía del alumno con hitos guiados, revisión de proyectos y feedback síncrono.

Solicitar propuesta

Sobre Django

Django Software Foundation Desde 2005 Documentación oficial

Django es un framework web de alto nivel escrito en Python que permite el desarrollo rápido y limpio de aplicaciones web robustas. Creado en 2003 y liberado públicamente en 2005, Django sigue el principio "Don't Repeat Yourself" (DRY) y la filosofía de "Convention over Configuration", lo que significa que proporciona configuraciones sensatas por defecto mientras permite la personalización cuando es necesaria. El itinerario de este curso se mantiene alineado con la rama estable del framework y cada lección incorpora un diagrama visual pensado para formación presencial, documentación interna y LMS corporativos.

Filosofía

Django se construye sobre varios principios fundamentales que lo distinguen de otros frameworks web. El framework adopta el patrón arquitectónico Model-View-Template (MVT), una variación del tradicional Model-View-Controller que separa claramente la lógica de negocio, la presentación y el control de flujo de la aplicación.

La filosofía "batteries included" de Django significa que viene equipado con una amplia gama de funcionalidades integradas: un ORM (Object-Relational Mapping) sofisticado, un sistema de autenticación robusto, un panel de administración automático, herramientas de seguridad integradas, y un sistema de plantillas flexible. Esta aproximación permite a los desarrolladores concentrarse en la lógica específica de su aplicación en lugar de reimplementar funcionalidades comunes.

Arquitectura MVT

El patrón MVT de Django organiza el código en tres componentes principales que trabajan de manera coordinada. Los modelos definen la estructura de datos y encapsulan la lógica de negocio, actuando como la interfaz entre la aplicación y la base de datos. Las vistas procesan las peticiones HTTP, ejecutan la lógica necesaria y devuelven respuestas apropiadas. Las plantillas se encargan de la presentación, definiendo cómo se estructura y presenta la información al usuario final.

Esta separación de responsabilidades facilita el mantenimiento del código, permite el trabajo en equipo eficiente y hace que las aplicaciones sean más escalables y testeables. Cada componente puede desarrollarse y modificarse independientemente, lo que resulta especialmente valioso en proyectos grandes y complejos.

Django ORM

El ORM de Django constituye una de sus características más distintivas, proporcionando una abstracción de alto nivel sobre las operaciones de base de datos. Este sistema permite definir modelos de datos como clases Python, donde cada clase representa una tabla de base de datos y cada atributo corresponde a un campo.

from django.db import models

class Autor(models.Model):
    nombre = models.CharField(max_length=100)
    email = models.EmailField()
    fecha_nacimiento = models.DateField()

    def __str__(self):
        return self.nombre

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

El ORM traduce automáticamente las operaciones Python en consultas SQL optimizadas, soportando múltiples motores de base de datos como PostgreSQL, MySQL, SQLite y Oracle. Las migraciones gestionan automáticamente los cambios en el esquema de la base de datos, permitiendo evolucionar la estructura de datos de manera controlada y versionada.

Las relaciones entre modelos se definen de manera intuitiva mediante campos especiales como ForeignKey, ManyToManyField y OneToOneField, que Django traduce automáticamente en las restricciones y joins apropiados a nivel de base de datos. Las consultas avanzadas se realizan mediante la QuerySet API, que permite encadenar filtros, anotaciones y agregaciones de forma expresiva y eficiente.

Vistas y enrutamiento

Django ofrece un sistema de enrutamiento URL limpio y flexible basado en la función path() y el módulo re_path() para patrones más complejos. Las URLs se organizan en módulos mediante include(), lo que permite estructurar grandes aplicaciones de forma modular.

El framework proporciona dos aproximaciones principales para manejar las peticiones HTTP: vistas basadas en funciones y vistas basadas en clases. Las vistas basadas en funciones proporcionan un control directo y explícito sobre el procesamiento de peticiones, siendo ideales para lógica simple y específica.

from django.shortcuts import render, get_object_or_404
from django.http import JsonResponse

def detalle_libro(request, libro_id):
    libro = get_object_or_404(Libro, id=libro_id)
    return render(request, 'libros/detalle.html', {'libro': libro})

def buscar_libros(request):
    termino = request.GET.get('q', '')
    libros = Libro.objects.filter(titulo__icontains=termino)
    return render(request, 'libros/resultados.html', {'libros': libros})

Las vistas basadas en clases ofrecen una aproximación más estructurada y reutilizable, especialmente útil para operaciones CRUD comunes. Django proporciona vistas genéricas como ListView, DetailView, CreateView, UpdateView y DeleteView que encapsulan patrones frecuentes con configuración mínima.

Plantillas

El Django Template Language (DTL) proporciona un sistema de plantillas seguro y expresivo que separa claramente la lógica de presentación del código Python. Las plantillas utilizan una sintaxis simple pero potente que permite la inserción de datos dinámicos, estructuras de control y filtros de formateo.

<!-- libro_detalle.html -->
<div class="libro-detalle">
    <h1>{{ libro.titulo }}</h1>
    <p><strong>Autor:</strong> {{ libro.autor.nombre }}</p>
    <p><strong>Publicado:</strong> {{ libro.fecha_publicacion|date:"d/m/Y" }}</p>

    {% if libro.disponible %}
        <span class="disponible">Disponible</span>
    {% else %}
        <span class="no-disponible">No disponible</span>
    {% endif %}
</div>

El sistema de herencia de plantillas permite crear jerarquías de plantillas reutilizables, donde las plantillas base definen la estructura común y las plantillas derivadas especializan secciones específicas. Esta aproximación promueve la consistencia visual y facilita el mantenimiento de interfaces complejas.

Formularios

El sistema de formularios de Django proporciona una manera robusta de manejar la entrada de datos del usuario, incluyendo validación automática, generación de HTML y protección contra ataques comunes. Los formularios pueden definirse manualmente o generarse automáticamente a partir de modelos existentes.

from django import forms
from .models import Libro

class LibroForm(forms.ModelForm):
    class Meta:
        model = Libro
        fields = ['titulo', 'autor', 'fecha_publicacion', 'isbn']
        widgets = {
            'fecha_publicacion': forms.DateInput(attrs={'type': 'date'}),
            'titulo': forms.TextInput(attrs={'class': 'form-control'})
        }

    def clean_isbn(self):
        isbn = self.cleaned_data['isbn']
        if len(isbn) != 13:
            raise forms.ValidationError("El ISBN debe tener 13 dígitos")
        return isbn

La validación de formularios opera en múltiples niveles: validación de campo individual, validación cruzada entre campos y validación a nivel de modelo. Los formsets permiten gestionar múltiples instancias de un mismo formulario, ideal para editar colecciones de objetos relacionados.

Autenticación y autorización

Django incluye un sistema de autenticación completo que gestiona cuentas de usuario, grupos, permisos y sesiones. El modelo User incorporado puede extenderse mediante AbstractUser o AbstractBaseUser para adaptarse a las necesidades de cada proyecto. El sistema de permisos permite definir accesos granulares a nivel de modelo y objeto, mientras que los grupos facilitan la asignación colectiva de permisos.

Panel de administración

El admin de Django genera automáticamente una interfaz web de administración a partir de los modelos definidos. Esta interfaz es altamente personalizable mediante la clase ModelAdmin, que permite configurar la visualización de listados, filtros de búsqueda, formularios de edición, acciones en lote e inlines para modelos relacionados.

Django REST Framework

Django REST Framework (DRF) extiende Django para la creación de APIs REST robustas y escalables. Este framework adicional proporciona herramientas especializadas para la serialización de datos, autenticación de APIs, control de permisos y documentación automática.

from rest_framework import serializers, viewsets
from rest_framework.decorators import action
from rest_framework.response import Response

class LibroSerializer(serializers.ModelSerializer):
    autor_nombre = serializers.CharField(source='autor.nombre', read_only=True)

    class Meta:
        model = Libro
        fields = ['id', 'titulo', 'autor', 'autor_nombre', 'fecha_publicacion', 'isbn']

class LibroViewSet(viewsets.ModelViewSet):
    queryset = Libro.objects.all()
    serializer_class = LibroSerializer

    @action(detail=False, methods=['get'])
    def recientes(self, request):
        libros_recientes = Libro.objects.filter(
            fecha_publicacion__gte=timezone.now() - timedelta(days=30)
        )
        serializer = self.get_serializer(libros_recientes, many=True)
        return Response(serializer.data)

Los serializadores convierten automáticamente entre objetos Python complejos y formatos de datos como JSON, mientras que los ViewSets proporcionan un conjunto completo de operaciones CRUD con configuración mínima. El sistema de permisos y autenticación de DRF permite implementar esquemas de seguridad sofisticados, incluyendo autenticación por tokens, OAuth y JWT.

Middleware y señales

El sistema de middleware de Django permite procesar peticiones y respuestas de forma global, añadiendo funcionalidades transversales como seguridad, sesiones, autenticación y caché. Los middleware se ejecutan en un orden definido y pueden interceptar tanto las peticiones entrantes como las respuestas salientes.

Las señales proporcionan un mecanismo de comunicación desacoplado entre componentes de la aplicación. Señales como pre_save, post_save, pre_delete y post_delete permiten ejecutar lógica automáticamente cuando se producen determinados eventos en los modelos, sin necesidad de modificar el código original.

Seguridad integrada

Django incorpora protecciones de seguridad por defecto contra las vulnerabilidades web más comunes. La protección CSRF (Cross-Site Request Forgery) se activa automáticamente en formularios, mientras que el sistema de plantillas escapa automáticamente las variables para prevenir ataques XSS (Cross-Site Scripting).

El framework incluye protecciones contra inyección SQL mediante el uso de consultas parametrizadas en el ORM, y proporciona herramientas para implementar cabeceras de seguridad como HSTS, X-Content-Type-Options y X-Frame-Options a través de su middleware de seguridad. La rama estable actual también permite definir Content Security Policy (CSP) con SECURE_CSP, ContentSecurityPolicyMiddleware y nonces en plantillas, algo especialmente útil en auditorías y despliegues corporativos.

Testing

Django incluye un framework de testing integrado basado en unittest de Python, ampliado con herramientas específicas para aplicaciones web. La clase TestCase proporciona una base de datos de prueba aislada, un cliente HTTP simulado y assertions especializados para verificar respuestas HTTP, redirecciones, plantillas utilizadas y contenido renderizado.

Despliegue y operación

Django soporta despliegue WSGI (por ejemplo Gunicorn) y ASGI para cargas concurrentes o integración con el ecosistema asíncrono. El marco de tareas en segundo plano estandariza cómo encolar trabajo fuera de la petición HTTP, mientras que los workers siguen siendo parte de tu plataforma (Kubernetes, colas, procesos dedicados). La gestión de archivos estáticos en producción usa collectstatic con Nginx, CDN o WhiteNoise. Docker y docker-compose siguen siendo el estándar de facto para entornos reproducibles en equipos y empresas.

Capacidades recientes relevantes para empresas

La rama estable actual incorpora capacidades que cambian cómo se diseñan proyectos Django profesionales:

  • Vistas y ORM async nativos: async def en vistas, acreate, aget, afirst, aiter en QuerySet, compatibles con httpx, asyncio.gather y ejecución bajo ASGI con Uvicorn.
  • GeneratedField: campos calculados persistidos a nivel de base de datos (db_persist=True), útiles para búsquedas case-insensitive, full-text e índices derivados sin pre_save.
  • Content Security Policy integrada: SECURE_CSP, ContentSecurityPolicyMiddleware y nonces en {% csrf_token %}-style, sin dependencias externas.
  • Partials DTL: {% partialdef %} y {% partial %} habilitan islas HTML reutilizables con sintaxis template#nombre, ideales para integración con django-htmx y actualizaciones parciales sin SPA.
  • Framework de tareas django.tasks: @task, enqueue, configuración TASKS, ejecución en workers externos; ruta oficial para desacoplar Celery/RQ donde no se necesitan.
  • Form rendering moderno: {{ form.as_div }} por defecto, widgets con template_name personalizable y RenderableMixin reutilizable.
  • Auth por defecto más estricta: hashers Argon2/Scrypt disponibles, LoginRequiredMiddleware y convenciones LoginRequiredMixin para proteger vistas genéricas.
  • Channels 4 + WebSockets: ASGI consumers asíncronos, group_send, autenticación JWT y escalado por Redis como Channel Layer.
  • API moderna: ecosistema consolidado entre Django REST Framework y Django Ninja (tipado con pydantic), documentación OpenAPI 3.1 automática con drf-spectacular y django-ninja.
  • Herramientas de desarrollo: django-debug-toolbar actual con soporte para queries async, django-silk para profiling de assertNumQueries y django-extensions con shell_plus.

El curso cubre todas estas capacidades en los módulos MVT, autenticación, formularios, DRF producción moderna y seguridad/arquitectura como parte del stack moderno de proyectos Django.

¿Necesitas un itinerario completo?

Este curso puede formar parte de una carrera profesional que combine varias tecnologías. Explora nuestros itinerarios o te diseñamos uno a medida para tu equipo.

Plan formativo de Django para tu equipo

Recibe una propuesta concreta: modalidad, alcance, calendario y evidencias FUNDAE exportables. Damos de alta a tu equipo, configuramos la plataforma con tus dominios y entregamos certificados verificables e informes para tu entidad organizadora. Sin coste de setup, sin permanencia.

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

Formación en Django: preguntas frecuentes

¿La formación en Django para empresas es bonificable por FUNDAE?
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 la formación en Django?
En tres modalidades: teleformación (online asíncrona), aula virtual privada en directo y mixta. Adaptamos temario, calendario y modalidad al equipo.
¿Se adapta el temario de Django al nivel de mi equipo?
Sí. Ajustamos el itinerario de Django al nivel y al stack de tu equipo, con ejercicios evaluados por IA y certificado verificable. La activación corporativa se acuerda durante la fase de propuesta.
¿Cómo se evalúa a los alumnos?
Con ejercicios corregidos automáticamente por IA (test, puzle, código, proyecto y ensayo), detección de entregas generadas con IA y certificados verificables por URL.