feat: Add WhiteNoise for static files serving

- Add whitenoise==6.6.0 to requirements.txt
- Configure WhiteNoise middleware in base settings
- Add WhiteNoise STORAGES configuration for all environments
- Reorder CORS middleware to correct position (before CommonMiddleware)
- Enable automatic Gzip compression and cache busting
- Configure environment-specific settings:
  * Development: autorefresh enabled, use finders
  * Staging: 10min cache, autorefresh for testing
  * Production: 1 year cache, strict mode, optimized

Fixes issue with Django REST Framework static files returning 404
in staging/production environments (DEBUG=False).

WhiteNoise now serves all static files (CSS, JS, images) with:
- Automatic Gzip compression (~84% size reduction)
- Cache busting with content hashing
- Optimized cache headers
- No nginx required for static files
This commit is contained in:
2026-05-10 20:32:30 -05:00
parent 294dbdee91
commit 8818246870
5 changed files with 250 additions and 8 deletions

View File

@@ -13,5 +13,5 @@ gunicorn # WSGI HTTP Server for production
# Environment variable management
python-decouple # Manage environment variables and settings
# Optional: Static files serving in production
# whitenoise # Serve static files efficiently
# Static files serving in production/staging
whitenoise==6.6.0 # Serve static files efficiently with compression