Este repositorio contiene el código de ejemplo utilizado en la charla "Django Asíncrono: Desbloqueando el Poder de la Programación Async" para PyCon US.
Una demostración práctica de las capacidades asíncronas de Django, comparando el rendimiento entre vistas síncronas y asíncronas al consumir APIs externas. El proyecto incluye ejemplos de:
- Vistas asíncronas vs síncronas
- Llamadas a APIs externas en paralelo
- Uso del ORM asíncrono de Django
- Implementación de
sync_to_async
- Python 3.8+
- Django 5.2+
- Cuenta gratuita en WeatherAPI.com
- Clonar el repositorio:
git clone https://github.com/lcmartinezdev/django-async-charla.git
cd django-async-charla
- Crear y activar un entorno virtual:
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
- Instalar dependencias:
pip install -r requirements.txt
- Configurar la API key:
export WEATHER_API_KEY="tu_api_key_de_weatherapi"
python manage.py runserver
El proyecto incluye dos endpoints principales:
/sync_weather/
- Vista síncrona que hace llamadas secuenciales a WeatherAPI/async_weather/
- Vista asíncrona que hace llamadas paralelas a WeatherAPI
Cada endpoint consulta el clima de múltiples ciudades y muestra el tiempo total de ejecución.
- Twitter: @lcmartinez_
- Web: lcmartinez.com
- Email: [email protected]