According to official uWSGI docs : A web server faces the outside world. It can serve files (HTML, images, CSS, etc) directly from the file system. However, it can’t talk directly to Django applications; it needs something that will run the application, feed it requests from web clients (such as browsers) and return responses.
A Web Server Gateway Interface - WSGI - does this job. WSGI is a Python standard.uWSGI is a WSGI implementation.
Does it mean that uWSGI is a must if I want to deploy a Django application on web server ?