Deploying Django to production involves running it behind a proper WSGI/ASGI server and web server, serving static files correctly, securing settings, and managing the database — quite different from the built-in development server (which is not for production).
The production stack
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).
