La distribuzione di Django in produzione comporta l'esecuzione dietro un appropriato server WSGI/ASGI e un web server, la corretta gestione dei file statici, la protezione delle impostazioni e la gestione del database — molto diverso dal server di sviluppo integrato (che non è adatto per la produzione).
Lo stack di produzione
Client → NGINX (web server) → GUNICORN (WSGI app server) → DJANGO
│ (runs your Python app, multiple workers)
└─ serves static/media files directly (efficient)
❌ NEVER use `python manage.py runserver` in production — it's single-threaded,
insecure, and not built for load. Use Gunicorn (WSGI) or Uvicorn (ASGI for async).
