Novedades FastAPI: WebSocket, Alembic, Mongo, Extensiones, Dep + Formularios Api en Django

Video thumbnail

Bienvenidos a una nueva actualización. Paso a comentarles todo el contenido que he subido y que ya tienen disponible de manera totalmente gratuita.

Como es costumbre, el blog (desarrollofree.net) es el eje central. Actualmente, estoy trabajando en la actualización de CodeIgniter 4, mejorando aplicaciones existentes y agregando nuevos ejemplos casi a diario.

Además, ya está disponible material exclusivo que aún no llega a YouTube, como la conexión de FastAPI con MongoDB, sacado directamente del curso que estoy actualizando. Recuerden que en el blog pueden acceder a:

  • Publicaciones detalladas: Con ejemplos de código.
  • Cursos comunitarios: Disponibles mediante el botón "Ver gratis" sin necesidad de registro.
  • Libros gratuitos: Basados en el contenido premium, accesibles si se registran en la plataforma de https://academy.desarrollolibre.net/.

Android y Python (Django / FastAPI) en YouTube

En el canal de YouTube seguimos la sintonía de las actualizaciones anteriores:

Android Studio

Ya dejamos atrás la teoría de Kotlin para enfocarnos en el desarrollo directo. Hemos cubierto componentes esenciales (Composables) para aplicaciones modernas:

Snackbars, Logs, Bottom Sheets y Navigation Drawer.

Crear una Tarjeta o Card como contenedor | Jetpack Compose - 05 - https://youtu.be/IA_FQRIv9J4
De RecyclerView a: LazyColumn, LazyRow y LazyVerticalGrid en Android Studio  | Jetpack Compose -06 - https://youtu.be/1UcVM0t6sy8
Snackbar Android Studio | Jetpack Compose - 07 - https://youtu.be/lupu0YejB44
Logs con Logcat con Android Studio | Jetpack Compose - 08 - https://youtu.be/rEml2l3tkMI
Los Bottom Sheets en Android Studio | Jetpack Compose - 09 - https://youtu.be/m_pS47Fve9Q
Navigation Drawer (menú lateral) en Android Studio | Jetpack Compose - 10 - https://youtu.be/ryNLU-TSDvM
Tabs con TabRow HorizontalPager en Android Studio | Jetpack Compose - 11 - https://youtu.be/Oo-Bi1X9-c4

Nota: Este contenido también está disponible en formato libro a un precio muy accesible.

Django

Estamos entrando en la recta final de esta serie con temas fundamentales:

  • Migraciones, Django Admin y gestión avanzada de formularios (ModelForms).
  • Introducción a Django REST Framework (DRF): Serializers y ViewSets para crear APIs robustas con autenticación.

 Introducción a las migraciones en Django 6 - https://youtu.be/6pPV8mLaQAQ

Django Admin - Agrupar los campos de gestión, fields - 58 - https://youtu.be/gcq8OONJPz4

 Presentación de los formularios de Django 6, Form y ModelForm - 59 - https://youtu.be/_Bt8OD-Fbwo

 Crea tu Primer Formulario en Django 6, Campos de Texto, Textarea y ModelChoiceField - 60 - https://youtu.be/slH1j7lyo9M

Procesamiento del formulario en Django 6 desde la vista - 61 - 
https://youtu.be/EgyAD_mdHi8

Representar el contenido dinámico de un Template en Django 6 - 62 - https://youtu.be/9e1ply0d2WU

 Elementos Clave del Motor de Templates de Django 6 - 63 - https://youtu.be/2R3oASh2b9k

Generar el template maestro o base en Django 6 - 64 - https://youtu.be/8V5RG6MUbQw

Instalar y Configurar Django Rest Framework - APIs - 65 - https://youtu.be/W_QXOYtoie4

¿Qué es una API REST?, qué es una API, una Rest, ¿Por qué Django REST Framework? - 65 - https://youtu.be/DXYwuORmF-s

 Django Rest Framework en la práctica, Serializers y Viewsets - 66 - https://youtu.be/4ciOfc8_b0U

Autenticación: Presentación, Sesión y básica en Django Rest Framework - 67 - https://youtu.be/1GFp3ss0Crw

Autenticación por Tokens usando Django Rest Framework - Método de Login - 68 - https://youtu.be/rRY4U1OOOQU

FastAPI: El "Secreto" de su Grandeza

He subido un video extenso sobre el sistema de Inyección de Dependencias de FastAPI y el patrón Repository. También cubrimos:

  • Ciclo de vida de la aplicación con lifespan.
  • WebSockets en FastAPI: Una guía completa consumida desde una app en Vue.js.

¿Sigues escribiendo PHP puro? Por esto necesitas un Framework hoy mismo - https://youtu.be/T1cPAIQ78r8

Relaciones Inversas en Django y Problema N+1 - https://youtu.be/cmgFNEHY5ec

Patron Repositorio: interfaces, Dependencias - El Secreto de la Grandeza de FastAPI - https://youtu.be/J-HbHHMjTOM

⚡ Ejecución de Código al Iniciar o finalizar mediante el evento Lifespan en FastAPI - https://youtu.be/a1We_SE9Pg4

Blender 

En mi otro canal, recapitulamos sobre modelado 3D (ajedrez) y conceptos de proyección perspectiva vs. ortogonal.

Dia 3: Modelando un tablero de Ajedrez con Blender - 03 - https://youtu.be/6fhLdT_uRcU

Día 4: Modelando un Peón de Ajedrez con Blender - 04 - https://youtu.be/wj8KVzqKhok

Diferencias entre proyección Perspectiva y Ortogonal (Ortográfica) en Blender - 05 - https://youtu.be/kVY8G5MyT-8

 

Cursos Completos y Recopilatorios

He lanzado varios materiales integrales que no se pueden perder:

  • IA Local con Python: Mini curso para crear una aplicación tipo Chatbot conectada a un LLM local (disponible en video y libro).
  • Laravel Livewire (Dashboard): Basado en el proyecto de la tienda en línea.
  • Laravel 12 + Inertia 2: Actualización fresca del curso comunitario.

Próximo Lanzamiento: Segunda Edición de FastAPI

Me encuentro en la recta final de la actualización del Curso y Libro de FastAPI. Si ya conoces Flask o Django, te recomiendo enormemente darle una oportunidad a este framework.

Novedades de la 2da Edición:

  • Arquitectura Limpia (Clean Code): Implementación de buenas prácticas y organización profesional.
  • Base de datos con Alembic: Gestión de migraciones.
  • Extensiones Imprescindibles: fastapi-mail, fastapi-users para autenticación, pydantic-settings para variables de entorno, control de tráfico (Rate Limiting), autocrud y fastapi-cache.

Uso y consumo de un Websockets en FastAPI y una app en Vue:

  1. Seleccionar Habitación
    1. Presentamos el esquema para seleccionar la habitación.
  2. Implementación de Filtro para obtener los mensajes por Habitación
    1. Vamos a implementar un parámetro GET opcional aplicado al endpoint de los mensajes/alertas usando el room_id.
  3. Actualización de mensajes sin recarga completa
    1. Adaptamos la app, para el evento recibido del WS, sea el Mensaje/alerta y hacemos un push con ese mensaje en el array de los mensajes en vez de hacer la recarga completa.
  4. Arquitectura Limpia y Clean Code
    1. Adaptaremos los principios del Clean Code a una aplicación en FastAPI.

Base de Datos con Alembic:

  1. Primeros pasos con Alembic
    1. Vamos a conocer como crear migraciones empleando Alembic de Python.
  2. Parámetros y configuraciones de Alembic y primera migración
    1. Vamos a configurar Alembic para poder emplearlo y crear la primera migración.
  3. Aplicar migraciones
    1. Vamos a aplicar migraciones de base de datos.
  4. Revertir cambios
    1. Veamos los 3 tipos de esquemas que podemos revertir los cambios, con números, por el ID de la migración y de base.

Dependencias:

  1. Dependencias Anidadas o Subdependencias
    1. Hablamos sobre como podemos crear Sub-dependencias y su utilidad.
  2. Patron Repository en el uso CLAVE con las Depends y Annotations
    1. Vamos a explicar un patrón de diseño y el uso CLAVE de las dependencias en FastAPI en todo esto.
  3. Dependencias Avanzadas con yield
    1. Hablamos sobre el uso de las dependencias avanzadas usando los yields.
  4. El Pool de Conexiones, claves en las dependencias
    1. Hablamos sobre el uso de los pools que es CRUCIAL para que FastAPI pueda resolver peticiones de manera eficiente.

MongoDB:

  1. Instalar MongoDB en MacOS con Homebrew o Windows + GUI Compass
    1. Aprende cómo instalar MongoDB en macOS con Homebrew paso a paso, hablamos sobre las Base de Datos NoSQL e instalar el GUI Compose.
  2. Motor: El Driver Asíncrono para MongoDB
    1. Instalamos y hablamos sobre motor para poder realizar conexiones a MongoDB.
  3. Primera conexión a MongoDB con Motor
    1. Creamos un método para conectarse a MongoDB y hacer un ping al iniciar el proyecto en FastAPI.
  4. Ejemplo del Esquema Relacional en MongoDB
    1. Mostraremos como manejar el esquema relacional en una relación de tipo muchos a muchos no normalizada.
  5. Relaciones
    1. Hablemos del resto de las relaciones en MongoDB.

Extensiones para FastAPI:

  1. FastAPI Mail
    1. Envío de correos Async
  2. FastAPI User (En Mantenimiento)
    1. Para crear un completo backend para Auth con JWT, registro, login, validaciones, esquemas... con 100 líneas de código
  3. Gestión de Variables de Entorno con Pydantic Settings
    1. Veamos como podemos crear variables de entorno y leerlas desde un .env, cachearlas y recomendaciones.
  4. Control de Tráfico en FastAPI: Implementando Rate Limiting
    1. Vamos a conocer como podemos limitar la cantidad de peticiones a un endpoint.
  5. Logs con Loguru
    1. Configuramos y mostramos un ejemplo de como emplear Loguru.
  6. Creando un AutoCRUD en FastAPI + SQLAlchemy
    1. Creamos un AutoCRUD en FastAPI para nuestros modelos de Pydantic y con SQLAlchemy.
  7. FastAPI Cache 2: Optimización con Caché
    1. Veremos como podemos usar un sistema de cache para guardar caches de las respuestas de los endpoints.

En el curso de Django también actualicé un par de clases:

  1. WS: Inyectar Mensaje desde el WS y nombrado parámetro al conectarse al WS
    1. Hagamos un par de optimizaciones, una de ellas es evitar recargar todos los mensajes al momento de enviar un mensaje (inyectamos la respuesta del WS) y damos un parámetro al token al momento de conectarse al WS.
  2. Rediseño de la app Vue con Google Antigravity

Oferta Especial

El libro ya está en preventa en la academia a $8 USD (precio final $10 USD). La actualización será gratuita para quienes ya lo tengan. El PDF final estará listo en una o dos semanas.

https://academy.desarrollolibre.net/libro/primeros-pasos-con-fastapi/

Actualización masiva de cursos y libros: Novedades en FastAPI, Django, Android Studio y Laravel. Accede a contenido gratuito, guías de WebSockets y arquitectura limpia.

Acepto recibir anuncios de interes sobre este Blog.

Andrés Cruz

EN In english