Aprender Django
Introducción a Django
- ¿Qué es Django?
- Historia y evolución del framework
- Características principales de Django
- Comparación con otros frameworks
- Instalación y configuración básica
Creación de un Proyecto Django
- Estructura de un proyecto Django
- Primeros pasos con
django-admin
ymanage.py
- Configuración del servidor de desarrollo
- Creación de aplicaciones en Django
Modelos y Base de Datos
- Definición de modelos
- Migraciones de base de datos
- Tipos de relaciones entre modelos
- Uso de bases de datos: SQLite, PostgreSQL, MySQL
- Consultas básicas con el ORM de Django
Vistas y URL Routing
- Vistas basadas en funciones
- Vistas basadas en clases
- Templates y renderización de HTML
- Enrutamiento de URLs y patrones
- Manejo de solicitudes y respuestas
Formularios y Validación
- Creación de formularios con
forms.Form
- Validación de datos
- Formularios basados en modelos (
ModelForm
) - Manejo de formularios avanzados (subida de archivos, formularios dinámicos)
Sistema de Autenticación
- Introducción al sistema de autenticación de Django
- Registro y autenticación de usuarios
- Decoradores y clases para proteger vistas
- Sistema de permisos y grupos
- Autenticación con redes sociales y otros métodos (OAuth, JWT)
Django REST Framework (DRF)
- Introducción a Django REST Framework
- Serialización de datos
- Creación de vistas API y ViewSets
- Implementación de autenticación con JWT
- Filtrado, paginación y búsquedas en APIs
- Creación de un CRUD con DRF
Frontend y Django
- Introducción a los templates de Django
- Integración de JavaScript en templates
- Uso de AJAX en Django
- Django con frameworks frontend (React, Vue.js, Angular)
- Arquitectura SPA (Single Page Applications) con Django
Pruebas y Depuración
- Introducción a las pruebas en Django
- Pruebas unitarias y funcionales
- Pruebas de vistas y modelos
- Cobertura de pruebas
- Uso de herramientas de depuración
Despliegue en Producción
- Preparación de un proyecto Django para producción
- Despliegue en Heroku, AWS, DigitalOcean
- Despliegue en EC2
- Configuración de Nginx y Gunicorn
- Gestión de bases de datos en producción
- Mejores prácticas de seguridad en Django
Optimización y Buenas Prácticas
- Optimización de consultas con el ORM
- Cacheo de vistas y consultas
- Gestión de archivos estáticos y medios
- Organización de proyectos a gran escala
- Uso de Celery para tareas asíncronas
Casos Prácticos
- Creación de un blog con Django
- Desarrollo de una API para una aplicación móvil
- Sistema de comercio electrónico
- Plataforma de gestión de usuarios
- Creación de un sistema de notificaciones en tiempo real