Índice de contenido
- Lo que aprenderás en este Curso Magistral (Resumen Ejecutivo)
- ¿Por qué Django? El "Framework con baterías incluidas"
- Por qué Django sigue siendo una referencia en desarrollo web con Python
- El Ecosistema: ¿Qué necesitas dominar primero?
- La decisión en Python: ¿Qué framework aprender primero?
- La diferencia entre un Novato y un Senior en Django
- Tu Camino Hacia Senior: Fases de Maestría
- Fases del Curso Garantizadas:
- Tutoriales Gratuitos para Empezar AHORA
- Libro y Curso Comunitario Gratis en PDF
- Repositorio del Proyecto en GitHub
- Prueba la Aplicación Demo
- ¿Por qué aprender Django hoy?
- ¿Qué aprenderás en este Curso de Django desde cero?
- Experiencia del Autor en el Mundo Real
- Preguntas Frecuentes
- 1. Introducción al Curso de Django 6
- 1. Introducción
- 2. Características de un proyecto en Django
- 3. Software necesario para desarrollar en Django
- 4. Paquetes y buenas prácticas al trabajar con Python y Django
- 5. Instalar ambiente virtual
- 6. Crear el Ambiente Virtual mediante VSC para Django 6
- 7. Instalar Django
- 8. Proyecto vs aplicación
- 9. Comandos básicos de Python para desarrollar en Django 6
- 10. Crear un proyecto en Django
- 11. Estructura del proyecto en Django 06
- 12. Línea de comandos
- 13. Crear una aplicación en Django
- 14. Registrar aplicación en el proyecto en Django
- 15. Trabajando con Git y GitHub con Django 6
- 1. Introducción
- 2. Consola interactiva/consola de Python
- 3. Archivos de Python
- 4. Variables y tipo de datos
- 5. Operaciones matemáticas
- 6. Concatenación de String
- 7. Casteos
- 8. Listas
- 9. Condicionales
- 10. Ciclos
- 11. Funciones
- 12. Funciones parte 2
- 13. Diccionarios
- 14. Clases, Primeros pasos
- 15. Clases, Primeras clases
- 16. Clases, Método constructor
- 17. Clases, Herencia
- 18. Módulos
- 19. Módulos en la practica
- 1. Introducción
- 2. Introducción
- 3. ¿Qué son los modelos en Django 6?
- 4. Opcional: Gemini CLI y/o Gemini Agent, tu asistente IA para Django 6
- 5. Crear el Primer Modelo en Django 6
- 6. Opcional: Como usar Gemini Agent con Visual Studio Code para corregir errores
- 7. Reto: Crear modelo de comentario en Django 6 Mediante IA
- 8. Introducción a las migraciones
- 9. Crear migraciones
- 10. Ejecutar migraciones
- 11. Clonar Proyecto en Django con Git y Github y Configurar
- 12. Revertir Migraciones
- 13. Otras operaciones para realizar en las migraciones
- 14. ¿Tienen sentido las migraciones en Django 6?
- 15. Hola Mundo
- 16. Ejecutar el proyecto en un servidor
- 17. Vistas, templates y rutas
- 18. Rutas
- 19. Pase de parámetros al template
- 20. Almacenar los templates en carpetas
- 21. Formularios
- 22. Formularios en Django - Protección mediante TOKEN CSRF
- 23. Formularios - Determinar el tipo de petición desde la vista GET y POST
- 24. Crear un objeto modelo y registrar en la base de datos
- 25. Formularios - Obtener los datos desde el objeto request
- 26. Modelos para los formularios
- 27. Procesar y Guardar Datos de Formularios
- 28. ModelForm
- 29. ModelForm en Django - Primeros Pasos
- 30. ModelForm - Instancias, Crear y Validaciones
- 31. Operaciones CRUD con el ORM y la base de datos + Shell
- 32. Shell - Para realizar pruebas
- 33. Implementar Operaciones CRUD en nuestra aplicación en Django 6
- 34. Consideraciones importantes sobre el CRUD anterior en Django 6
- 35. Redirecciones en Django
- 36. Paginación
- 37. Paginar Registros - Definir la Paginación en el template con Bootstrap 5
- 38. Paginar Registros - Definir la Paginación en el template
- 39. Encontrar o 404 - get_object_or_404
- 40. Encontrar o 404 - get_object_or_404
- 41. Espacio de Nombres de Aplicación para definir las rutas y sus nombre
- 42. Generar Data de Prueba en Django 6 o en Python con Faker
- 43. Faker: Crear script
- 44. Publicar en GitHub
- 45. Extra: Maquetación de Prototipos con Asistencia de I.A.
- 1. Introducción
- 2. Django Admin, Crear Superusuario (createsuperuser)
- 3. Presentación de Django Admin
- 4. Agregar nuestros propios modelos
- 5. Personalizar opciones de consulta
- 6. Personalización de columnas, edición, filtrado y más
- 7. Personalización Registrar clases mediante decorador
- 8. Registrar el resto de los modelos
- 9. Agrupar los campos de gestión, fields
- 10. Formulario: Personalizar campos
- 11. Listado: Crear campos en Django Admin
- 12. Personalización de Acciones y Botones en Formularios al momento de editar
- 13. Formularios en Línea (Inlines) para Relaciones en Django Admin
- 14. Personalizar/Sobreescribir métodos de gestión CRUD
- 15. Personalizar Django Admin con formularios de tipo ModelForm
- 16. Configurar la configuración regional (localización)
- 17. Crear el slug de los elementos automáticamente en Django admin
- 18. Extra: Maquetación de Prototipos con Asistencia de I.A.
- 19. Tema y archivos estáticos CSS, JS...
- 20. Publicar en github
- 1. Introducción
- 2. Presentación
- 3. Form para los elementos
- 4. Vista para procesar el formulario
- 5. Reto: Crea un ModelForm para los elementos
- 6. Terminar de implementar el CRUD para los elementos
- 7. Validaciones: Introducción
- 8. Mostrar los errores de validación
- 9. Mostrar los errores de validación
- 10. Validaciones personalizadas
- 11. Validaciones personalizadas, campos generales
- 12. Referenciar los campos y labels del formulario individualmente
- 13. Form Assets (Media class): Atributo widget
- 14. Personalización de campos de formulario con Widgets de manera global
- 15. Form Assets (Media class): Modificar atributos
- 16. Form Assets (Media class): Tipos de campos
- 17. Form Assets (Media class): Django widgets
- 18. Field group
- 19. Publicar en github
- 1. Introducción
- 2. Presentación
- 3. Representar el contenido dinámico de un Template
- 4. Elementos Clave del Motor de Templates
- 5. Generar el template maestro o base
- 6. Fragmentos de templates y parámetros
- 7. Etiquetas lógicas: if, presentación
- 8. Etiquetas lógicas: for, presentación
- 9. Programar nuestras propias etiquetas
- 10. Filtros
- 11. Programar nuestros propios filtros
- 12. Cambiar de motor de plantilla - Jinja2
- 13. Gestión y Carga de Archivos Estáticos (CSS, JS, Imágenes)
- 14. Publicar en github
- 1. Introducción
- 2. ORM - Trabajando con QuerySets - Operaciones CRUD
- 3. Operadores Lógicos en QuerySets: AND, OR y NOT y Clase Q
- 4. Problema del N+1 en el ORM de Django y como evitarlo
- 5. Relaciones Inversas en Django y Problema N+1
- 1. Introducción
- 2. ¿Qué es una API REST?, qué es una API, una Rest, ¿Por qué Django REST Framework?
- 3. Instalar paquete y configurar
- 4. Crear aplicación para la Rest Api
- 5. Django Rest Framework en la práctica, Serializers y Viewsets
- 6. Creando la Primera Api Rest tipo CRUD en Django Rest Framework: Serializers, Viewsets Ruteos + Documentación automática
- 7. Problemas al momento de crear/actualizar un elemento
- 8. Habilitar la paginación
- 9. Métodos personalizados para las serializaciones
- 10. Métodos personalizados para los viewset
- 11. Métodos hooks en los viewsets
- 12. Autenticación: Presentación, Sesión y básica
- 13. Autenticación: Token: Función login
- 14. Probar la API Rest mediante Postman
- 15. Configurar los CORS
- 16. Publicar en github
- 17. Extra: Generar el slug de manera automática
- 18. Sesión
- 1. Introducción
- 2. Conociendo el ecosistema para desarrollar en Vue
- 3. Crear un Proyecto en Vue con NPM y Vite
- 4. Estructura de un proyecto en Vue
- 5. Ejecutar un proyecto en Vue
- 6. Instalar Vue Router
- 7. Configurar Vue Router
- 8. Instalar y configurar axios
- 9. Primera conexión con axios, obtener un listado
- 10. Variables, reactividad y pruebas de la data desde el navegador
- 11. Los v-for para interar datos reactivos en Vue
- 12. Comparativa entre axios y fetch
- 13. Crear un listado de categorías
- 14. Repaso a lo implementado, componente de listado de tipos y clonar proyecto
- 15. Navegación entre páginas: RouterLink
- 16. Sobre Naive UI, el paquete basado en componente
- 17. Naive UI, Instalar y configurar
- 18. Componente de tabla para las categorías y tipos
- 19. Space: Contenedor
- 20. Layout: Esqueleto básico
- 21. Menú: con componente menu
- 22. Menú: Establecer el RouterLink
- 23. Adaptar menú en un componente aparte
- 24. Header para las categorías y tipos
- 25. Integrar Tailwinds.css
- 26. Adaptar detalles visuales
- 27. Listado de elementos
- 28. Extra: Agrupar rutas
- 29. Formulario para categorías, crear
- 30. Formulario para categorías, editar
- 31. Enlaces para el CRUD para las categorías
- 32. CRUD para los tipos
- 33. CRUD para los elementos
- 34. Integrar CKEditor
- 35. Adicional: Cambios visuales con Tailwind
- 36. Extra: El uso de Alias (@) en las importaciones
- 1. Introducción
- 2. Presentación de las vistas basadas en clases
- 3. Tipos de VBC y crear la estructura
- 4. Crear las primeras CBV para manejar el formulario y de éxito
- 5. Clase de vista general: View
- 6. TemplateView
- 7. UpdateView: Actualizar
- 8. CreateView: Crear
- 9. DeleteView: Borrar
- 10. DetailView: Detalle
- 11. IndexView: Listado
- 12. LoginView: Vista para el login
- 13. LogoutView: Vista para el logout
- 14. Registrar usuarios
- 15. PasswordChangeView: Vista para cambiar la contraseña y PasswordChangeRest: Vista para cambiar restablecer la contraseña
- 16. PasswordChangeRest: Vista para cambiar restablecer la contraseña
- 17. PasswordChangeView: Vista para cambiar la contraseña
- 18. Publicar en github
- 1. Introducción
- 2. Presentación
- 3. Crear un proyecto y aplicación
- 4. CSV: Primeros pasos
- 5. CSV: Leer
- 6. CSV: Leer, Diccionario
- 7. CSV: Escribir un archivo
- 8. CSV: Escribir un archivo
- 9. Cerrar archivo y palabra reservada with
- 10. XLSX: Crear aplicación
- 11. XLSX: Leer
- 12. XLSX: Escribir
- 13. Generar PDFs: Crear aplicación
- 14. Generar PDFs: Generar un PDF a partir de una página HTML
- 15. Generar PDFs: Weasyprint otras opciones
- 16. Generar PDFs: Generar un PDF a partir de un Canvas
- 17. Círculos, rectángulos y líneas, colores...
- 18. Descargar, cualquier archivo existente
- 19. Descargar PDF, reporlab
- 20. Publicar en github
- 1. Introducción
- 2. Hablamos sobre Alpine, una muy breve presentación de su uso y sintaxis
- 3. Migrar la aplicación de to do list a Django
- 4. Crea app en Django para los To Do
- 5. Modelo y migración para los To Do
- 6. Crear Api Rest para la app con DRF
- 7. Instalar axios
- 8. Crear to do desde Django
- 9. Editar un todo
- 10. Eliminar un to do
- 11. Marcar completado un to do
- 12. Reordenación en base a IDs
- 13. Eliminar todos los to do
- 14. Administrar solo los To Do del usuario
- 1. Introducción
- 2. Sobre Django Channels, que es y como podemos crear apps real-time
- 3. Crear proyecto e instalar dependencias
- 4. Crear modelos de ejemplo y data de ejemplo
- 5. Configurar proyecto y servidor con channels[daphne]
- 6. Websockets, Consumers y procesos asíncronos
- 7. Creando nuestro primer Consumer en Django Channels
- 8. Cliente: Consumir Websocket, View y Template
- 9. Cliente: Consumir Websocket, JavaScript
- 10. Descarga e Instalación de Archivos Estáticos, Bootstrap 5
- 11. Cliente: Enviar y recibir mensajes desde el JavaScript al Consumer
- 12. Comunicación por las capas de canales (Multiple channels)
- 13. Channels Layers (Multiple Channels), configuraciones y Redis
- 14. Conceptos claves sobre el uso del multiple channels
- 15. Implementación de Multiple Channels en Django: Cambios en la app de chat
- 16. Multiple Channels (Groups) Cambios en el cliente
- 17. Convertir el consumer a código asíncrono
- 18. Django: DRF, Django Channels y Vue: Aplicación de mensajes de alertas
- 19. Middleware para la autenticación
- 20. Aplicación con Vue para consumir conectarse al websocket multiple channel de Django
- 21. Publicar en github
- 22. Opcional: Configuración de Redis en Django Channels
- 23. Usar múltiples Consumers
- 24. Cambios con IA: Scroll automático, recargar el listado (Ref) y efecto CSS
- 25. Rediseño con IA: Google Antigravity
- 1. Introducción
- 2. Sobre como podemos crear autenticación personalizada
- 3. Evaluando la pagina de login y funcionamiento de los templates
- 4. Instalar Bootstrap 5 y Font Awesome
- 5. Crear un template maestro
- 6. Especificación de atributos HTML con django-widget-tweaks
- 7. Formulario para login
- 8. Maquetación del resto de los templates para autenticación
- 9. Enviar emails
- 10. Configurar el email al momento del registro
- 11. Perfil: Estructura base
- 12. Cargar el avatar: Modelo, migraciones y formulario
- 13. Upload, MEDIA ROOT
- 14. Eliminar imagen del avatar cargada anteriormente
- 15. Validar imagen, dimensiones, peso y extensiones
- 16. Otros campos de formularios
- 17. Mostrar datos de la imagen cargada
- 18. MEDIA_URL y MEDIA_URL: Configuración de URLs en Desarrollo
- 19. La "Carpeta Virtual": MEDIA_URL
- 20. Publicar en github
- 1. Introducción
- 2. Implementar un signal
- 3. Envío de Email con Contenido HTML
- 4. La criptografía en Django
- 5. Codificar con Base64 y con Hash
- 6. Uso de Mensajes tipo Flash en Django
- 7. Traducciones con Django, Introducción
- 8. Traducción: Primeros pasos
- 9. Traducción: gettext
- 10. Traducción: Configuraciones
- 11. Traducción: Carpeta de traducción
- 12. Traducción: Ignore
- 13. Traducción: Generar archivos de traducción
- 14. Traducción: Traducir
- 15. Traducción: Compilar archivos de traducción
- 16. Traducción: Configuraciones
- 17. Cómo Configurar y Conectar Django con MySQL paso a paso
- 18. Registrar Log en archivo
- 19. Throttling en Django Rest Framework y como usarlo
- 20. Usar Google Antigravity con Django
- 21. Introducción a Celery: Procesamiento en Segundo Plano en Python: FastAPI Django y Flask
- 1. Introducción
- 2. Personalización del Django Admin: Estética y Modernización
- 3. Introducción a Easy Thumbnails en Django
- 4. Django Debug Toolbar
- 5. Django Import Export
- 6. Django Rest Framework
- 7. Django CORS Headers
- 8. Django Channels
- 9. Django seed
- 10. Django Filter - Filtros sobre las entidades en DRF y Web
- 11. django-environ - Usar variable de entorno con los .env
- 12. Autenticación mediante tokens para los WS, demo
- 13. Actualizar la dependencia de verificar el token
- 14. Seleccionar Habitación
- 15. Implementación de Filtro para obtener los mensajes por Habitación
- 16. Actualización de mensajes sin recarga completa
- 1. Introducción
- 2. Introducción a las pruebas, conceptos claves
- 3. Pruebas matemáticas
- 4. El objeto Client: Tu navegador interno
- 5. Herramientas para realizar las pruebas
- 6. Configuración de la Base de Datos de Test
- 7. Crud de Comentarios: Index Paginado
- 8. Crud de Comentarios: Crear
- 9. Crud de Comentarios: Actualizar
- 10. Crud de Comentarios: Eliminar
- 11. Formularios
- 12. Api: Paginados
- 13. Api: Detalle
- 14. Api: Crear
- 15. Api: Actualizar
- 16. Api: Eliminar
- 17. Probar CommentSerializer
- 18. Api: Paginados
- 19. API: Eliminar
- 20. API: Serialización
- 21. Errores de validaciones
- 22. Modularización de las Pruebas: Mejorar la estructuras de archivos y carpetas
- 23. Creando Pruebas Unitarias en Django con Gemini Agent, ejemplos y consideraciones.
- 24. Autenticación
- 25. Factory
- 26. Publicar en github
- 27. Autenticación para las pruebas
- 28. Publicar en github
- 1. Railway, deploy de tus aplicaciones en PHP, Python web, Node... como en Heroku GRATIS
- 2. Deploy en Railway
- 3. Cómo publicar tu aplicación Django GRATIS en PythonAnywhere
- 4. Curso de Docker para desarrolladores
- 5. DOCKERIZAR tu APP en Django + Servidor en Gunicorn - 16
- 1. Crear ambiente virtual
- 2. Crear un proyecto
- 3. Crear aplicación en Django - 03
- 4. Modelos
- 5. Registrar aplicación y migraciones
- 6. Vistas bases, listado y detalle
- 7. Plantilla maestra
- 8. Django Admin
- 9. Data de prueba
- 10. Configurar Bootstrap 5
- 11. Configurar Bootstrap
- 12. Listado
- 13. Paginación
- 14. Container
- 15. Detalle
- 16. Enlace de navegación
- 17. Listado: Filtro en el servidor
- 18. Listado: Filtro en el cliente
- 19. Listado: Establecer los valores del servidor
- 20. Listado: Limpiar Filtro
- 21. PayPal: Modo Desarrollador
- 22. PayPal: Cliente: Primeros pasos
- 23. Configuraciones personalizadas en Django
- 24. PayPal Cliente: Configurar Monto
- 25. PayPal Cliente: onApprove
- 26. Enviar ordenID al servidor
- 27. PayPal Servidor, Paquete para realizar peticiones http
- 28. PayPal Servidor, Crear clase PayPal
- 29. PayPal Servidor, Generar token
- 30. PayPal Servidor, Aprobar compra
- 31. Obtener datos relevantes
- 32. Verificar compra exitosa
- 33. Detalle mediante el slug
- 34. Listado, truncar datos de la descripción
- 35. Diseños para la app
- 36. Publicar en github
- 1. Los ambientes virtuales para desarrollar nuestras aplicaciones
- 2. Enviar Email (SMTP Mailtrap)
- 3. Enviar Email con contenido HTML (SMTP Mailtrap)
- 4. Paginación: Primeros pasos
- 5. Paginación: Construyendo listado de comentarios
- 6. Paginación: Construyendo un listado de páginas genéricas
- 7. Paginación: Adaptar el listado de páginas genéricas a Bootstrap 4
- 8. Logging: Manejo de los logs y generación de msj
- 9. Criptografía: Proteger datos sensibles
- 10. CSV: Exportar datos
- 11. CSV: Exportar nuestros contactos
- 12. Traducción estándar en Django: Presentación
- 13. Traducción estándar en Django: Generar textos a traducir
- 14. Traducción estándar en Django: Generar archivos de lenguaje/mensaje
- 15. Traducción estándar en Django: Probar nuestra aplicación
- 16. Traducción estándar en Django: Imprimer en los templates
- 17. Sesión: Guardar y eliminar datos
- 1. Introducción
- 2. Easy Thumbnails: Generar imágenes pequeñas fácilmente
- 3. Django import / export: Primeros pasos
- 4. Django import / export: Exporta datos fácilmente
- 5. Django import / export: Importar Datos fácilmente
- 6. Django Debug Toolbar: Ve en detalle todo lo que sucede en tu aplicación
- 7. Django rest framework: Construye tu Api Rest
- 8. Django Bootstrap Form: Personaliza el estilo de tus formularios
- 9. Django Cors Headers: Habilita peticiones a tu app desde otras apps
- 10. Personalizar el diseño del módulo de admin
- 1. Introducción
- 2. Definir el modelo para las imágenes de los productos
- 3. Registrar la relación de imágenes desde el formulario de Elementos en Admin
- 4. Escalar y recortar (Scale/crop) la imagen cargada
- 5. Los signals para escuchar eventos o sucesos en nuestra app
- 6. Borrar imágenes asociadas al momento de borrar el registro
- 7. Borrar imágenes al momento de cambiar un registro
- 8. Borrar archivo extra de la rescalada
- 1. Introducción
- 2. Primeros pasos con la autenticación social
- 3. Configurar una URL a nuestro proyecto y resolverla de manera local
- 4. Comandos e información de ayuda
- 5. Configurar un servidor SSL de desarrollo
- 6. Terminar las configuraciones para la autenticación social
- 7. Autenticación social con Google/Gmail: Crear credenciales
- 8. Autenticación social con Google/Gmail: Configurar en la app
- 9. Posibles problemas con Twitter
- 10. Autenticación social con Twitter: Crear credenciales
- 11. Autenticación social con Twitter: Configurar en la app
- 12. Autenticación social con Facebook: Crear credenciales
- 13. Autenticación social con Facebook: Configurar en la app
- 14. Diseño para los botones sociales en la página de login
- 1. Introducción
- 2. Agregar un(os) producto(s) al carrito
- 3. Vista para editar el carrito
- 4. Remover un item del carrito
- 5. Crear funcion ajax para devolver el total de productos en el carrito
- 6. Consumir la cantidad de productos del carrito mediante fetch
- 7. Diseño del botón para el carrito de compras
- 8. Opcional: Actualizar carrito cada cierto tiempo
- 9. Crear botón "Ver en el carrito"
- 10. Editar las cantidades del carrito: Crear función ajax
- 11. Editar las cantidades del carrito: Crear estructura y lógica
- 12. Editar las cantidades del carrito: Enviar petición
- 13. Editar las cantidades del carrito: Soportar múltiples productos
- 14. Actualizar el precio del carrito al momento de variar las cantidades
- Algunas recomendaciones
Aprender Django fue una de las decisiones más importantes en mi camino como desarrollador web. Siempre me ha gustado trabajar con herramientas que me permitan construir rápido, bien y con una estructura clara, y Django fue exactamente eso: un framework que desde el primer día te da las herramientas para crear aplicaciones web completas y profesionales.
"Desde que descubrí su filosofía de 'baterías incluidas', entendí que estaba frente a un framework que realmente te acompaña en cada paso: trae todo listo para crear aplicaciones web robustas sin depender de decenas de paquetes externos."
Para mí, es el Laravel en Python Web, ¡y por muy buenas razones!
Y eso es justo lo que quiero transmitirte con este Curso Moderno Full Stack en Django: un programa completo y actualizado para que aprendas a crear aplicaciones web profesionales desde cero, dominando tanto el backend con Django 6 como el frontend con Vue 3 y Bootstrap 5.
Lo que aprenderás en este Curso Magistral (Resumen Ejecutivo)
- Dominio Total del Entorno: Configuración profesional con
entornos virtuales(venv), sin romper tu PC. Creación de modelos, migraciones, modificación de datos y relaciones entre tablas. - Arquitectura MVT Sólida: Entiende por fin cómo se conectan los
Models,ViewsyTemplatessin enredos. Uso de rutas dinámicas, vistas basadas en funciones (FBV) y clases (CBV), y lógica de presentación con el sistema de plantillas de Django. - Formularios, Validaciones y Autenticación: Creación de formularios con
forms.FormyModelForm, validaciones personalizadas, sistema delogin,logouty registro de usuarios. - Bases de Datos con el ORM de Django: Domina las relaciones (
ForeignKey,ManyToManyField,OneToOneField), migraciones y consultas seguras sin escribir SQL directamente. - APIs RESTful Modernas: Integra
Django Rest Framework(DRF) conserializers,viewsets, autenticación portokeny consume la API desde un frontend construido conVue 3yAxios. - Seguridad y Autenticación: Sistemas de
login, registro, manejo de contraseñas, permisos y grupos de usuarios blindados con el sistema de autorización de Django. - Despliegue Profesional: Lleva tu código al mundo real usando
RailwayyPythonAnywhere, con configuración de variables de entorno, archivos estáticos y base de datos en producción.
Este es el curso MÁS completo que encontrarás de Django en español. Abordaremos todos los aspectos, desde los fundamentos hasta temas avanzados para el desarrollo moderno de aplicaciones web Full Stack.
¿Por qué Django? El "Framework con baterías incluidas"
Aprender Django fue una de las decisiones más rentables en mi camino como desarrollador. Sé lo frustrante que puede ser pasar horas configurando herramientas, dependencias y cientos de paquetes de terceros solo para tener un sistema de inicio de sesión o un panel de administración en otros frameworks (sí, hablo de JavaScript y Node.js en muchos casos).
Con Django eso es historia. Tienes todo listo desde el primer python manage.py runserver: un ORM seguro, autenticación completa, el maravilloso Django Admin y un sistema de validación robusto. No necesitas instalar media docena de librerías externas para arrancar un proyecto real.
Por qué Django sigue siendo una referencia en desarrollo web con Python
Django lleva casi dos décadas evolucionando de forma estable. Es maduro, profesional, utilizado por empresas gigantes como Instagram, Spotify, Pinterest y Mozilla, y, sobre todo, práctico. En un mundo donde todo cambia rápido, Django sigue ofreciendo una base sólida que no se rompe cada 6 meses. Su comunidad activa, su documentación ejemplar y su ciclo de lanzamientos predecible (con versiones LTS) lo convierten en una apuesta segura para proyectos de cualquier escala.
Cubriremos una amplia gama de temas esenciales e imprescindibles:
- Aspectos Básicos: Rutas (
urls.py), vistas (views.py), templates, modelos (models.py), manejo de formularios y validaciones. - Desarrollo Avanzado:
- REST API: Implementación de APIs con
Django Rest Framework(DRF) y sistemas de autenticación basados entokens. - Paquetes Clave: Uso de
Django Channelspara comunicación en tiempo real conWebSockets, y otros paquetes esenciales del ecosistema Django.
- REST API: Implementación de APIs con
El Ecosistema: ¿Qué necesitas dominar primero?
| Tecnología | Curva de Aprendizaje | Propósito en la App |
|---|---|---|
Python 3 | Baja | Lenguaje base de toda la lógica del backend. |
Django & ORM | Media | El corazón del proyecto: Rutas, MVT y Base de datos. |
Django Rest Framework | Alta | Creación de APIs RESTful para frontends dinámicos. |
Vue 3 + Alpine.js | Media | Reactividad y UI moderna sin recargas de página. |
La decisión en Python: ¿Qué framework aprender primero?
| Objetivo | Framework Ideal | ¿Por qué? |
|---|---|---|
| APIs rápidas y microservicios | Flask | Microframework minimalista. Añade solo lo necesario. |
| Proyectos monolíticos completos con CMS | Django | Framework "baterías incluidas". Admin, ORM y autenticación listos. |
| APIs de alto rendimiento y datos en tiempo real | FastAPI | Enfoque moderno, asíncrono nativo y tipado estricto con Pydantic. |
La diferencia entre un Novato y un Senior en Django
Observa cómo Django transforma un flujo tradicional de consultas pesadas en un componente elegante, eficiente y fácil de mantener. Este es un ejemplo real del tipo de optimizaciones que aprenderás en el curso:
# Problema N+1 Query
libros = Libro.objects.all()
for libro in libros:
# Cada iteración hace un query a Autor
print(libro.autor.nombre)# Query Optimizado con JOIN
libros = Libro.objects.select_related('autor').all()
for libro in libros:
# Solo 1 Query a la BBDD rápido y eficiente
print(libro.autor.nombre)Con select_related() eliminamos el problema N+1 y reducimos decenas de consultas a una sola. Este tipo de optimización marca la diferencia en producción.
Tu Camino Hacia Senior: Fases de Maestría
He diseñado esta metodología para que pases de configurar tu entorno hasta alcanzar una maestría técnica integrando formularios complejos, APIs REST, Django Admin y paquetes imprescindibles del ecosistema.
Fases del Curso Garantizadas:
- Fase 1 — El Núcleo de Python: Afianzaremos las bases de
Python: listas, diccionarios y herencia de clases, de forma rápida y enfocada para quienes vienen de otros lenguajes. - Fase 2 — MVT y Bases de Datos:
Models, migraciones y formularios completos. Crearemos nuestro primer gran sistema CRUD desde cero y usaremosDjango Adminpara la gestión de recursos. - Fase 3 — Modernidad con Vue y API REST: Usaremos
Django Rest Frameworkpara proveer datos a nuestro frontend moderno construido conVue 3. - Fase 4 — Nivel Experto y Producción:
Django Channels(WebSockets), pasarelas de pago (PayPal) y el despliegue final enRailway.
Tutoriales Gratuitos para Empezar AHORA
Accede a material de alta calidad sin costo y comprueba por qué Django es el framework de referencia para el desarrollo web con Python:
Libro y Curso Comunitario Gratis en PDF
Descubre mi estilo de enseñanza con la versión GRATIS. Clases esenciales para que arranques tu camino hoy mismo, sin compromiso.
Repositorio del Proyecto en GitHub
Explora el código fuente que utilizaremos a lo largo del curso. Transparencia total sobre el nivel técnico que alcanzaremos:
Prueba la Aplicación Demo
Interactúa con el proyecto final que construirás en el curso.

¿Por qué aprender Django hoy?
Django no se queda en lo básico. Desde el primer proyecto tienes autenticación, modelos, formularios y un panel administrativo profesional listo para usar. Es maduro, estable y utilizado por empresas gigantes. Aprender Django es invertir en una herramienta que no se rompe cada 6 meses y que te permite construir desde e-commerces hasta plataformas educativas escalables.
Django es un framework con muchas opciones: nos permite crear aplicaciones web completas con Python, el lenguaje del momento. Un lenguaje de programación modular, con una sintaxis impecable, que también podemos utilizar en el desarrollo web profesional.
Nos ofrece un esquema modular basado en proyectos y aplicaciones (apps), un ecosistema importante de paquetes para extender el ya de por sí completo framework, y con esto, la creación de proyectos escalables y mantenibles a largo plazo.
¿Qué aprenderás en este Curso de Django desde cero?
- Fundamentos esenciales de Django y Python
- Empezamos por lo necesario:
entorno virtual, instalación correcta, estructura del proyecto y el famoso patrónMVT(Model-View-Template).
- Empezamos por lo necesario:
- MVT: modelos, vistas y templates sin complicaciones
- Aprenderás a conectar cada pieza del framework para construir aplicaciones completas con claridad y buenas prácticas desde el inicio.
- ORM, migraciones y relaciones entre modelos
- El
Django ORMes una maravilla cuando entiendes cómo funciona. Verás relaciones uno a muchos (ForeignKey), muchos a muchos (ManyToManyField) y uno a uno (OneToOneField), además de consultas avanzadas conmanagerspersonalizados.
- El
Django Admin: la joya que acelera tu desarrollo- Aquí vuelve mi experiencia personal: desde que usé
Django Adminpor primera vez, entendí por qué Django es referencia mundial. Te enseñaré a personalizarlo para convertirlo en una herramienta profesional de gestión de datos.
- Aquí vuelve mi experiencia personal: desde que usé
- Formularios, validaciones y autenticación
- Formularios basados en clases (
ModelForm), formularios manuales, validaciones personalizadas,login/logout, registro de usuarios y permisos con el sistema de autorización integrado.
- Formularios basados en clases (
- APIs REST con
Django Rest Framework- Crearemos una REST API completa y totalmente funcional, incluyendo autenticación por
tokeny consumo desdeVue 3conAxios.
- Crearemos una REST API completa y totalmente funcional, incluyendo autenticación por
- Despliegues profesionales: entornos de producción y seguridad
- Aprenderás a llevar tus proyectos a producción con plataformas como
RailwayyPythonAnywhere, aplicando buenas prácticas, entornos seguros y configuración optimizada con variables de entorno.
- Aprenderás a llevar tus proyectos a producción con plataformas como
Experiencia del Autor en el Mundo Real
"A lo largo de mis años llevando código desde el papel hasta producción, he escalado e-commerces, APIs públicas y sistemas SaaS complejos. Toda esta experiencia lidiando con integraciones de pasarelas de pago y optimización de consultas la he comprimido en este curso para que tú no tengas que tropezar con la misma piedra. Estás obteniendo atajos corporativos aplicables en la industria real."
Preguntas Frecuentes
- ¿Para quién es este curso?
- Desarrolladores que ya conocen
Pythony quieren dominar el framework web más popular del ecosistema Python. - Programadores que buscan velocidad de desarrollo con un framework "todo en uno" que incluye ORM, admin, autenticación y más.
- Nota: También es apto para quienes están empezando, ya que cubrimos los fundamentos de
Pythonen la Fase 1.
- Desarrolladores que ya conocen
- ¿Qué requisitos necesito?
- Conocimientos al menos básicos en
Pythono algún lenguaje de programación, al igual que conocer algo deHTML,CSSyJavaScript. - ¡Y muchas ganas de aprender!
- Conocimientos al menos básicos en
- ¿El curso incluye el libro?
- NO, el curso y el libro se venden por separado o en Bundle. El contenido es equivalente y se complementan para ofrecer una experiencia de aprendizaje total, incluso offline.
- ¿Curso equivalente al libro?
- Todo el contenido del curso lo tienes también en formato libro, ideal si prefieres estudiar offline o a tu propio ritmo.
- Incluye soporte, recursos extras y actualizaciones continuas.
- El libro viene en formato PDF y EPUB.
- En mi blog publico herramientas, ejemplos, snippets, videos y buenas prácticas que amplían el curso y están extraídos del libro y del curso.