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 y manage.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

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