How Django Handles Static Files By default, Django installs an Application django.contrib.staticfiles, which is responsible for handling requests to files under STATIC_URL. INSTALLED_APPS = ( 'django.contrib.admin' , 'django.contrib.auth' , 'django.contrib.contenttypes' , 'django.contrib.sessions' , 'django.contrib.messages' , 'django.contrib.staticfiles' , 'polls' , ) STATIC_URL = '/static/' This method is grossly inefficient and probably insecure, so it is unsuitable for production. https://docs.djangoproject.com/en/1.8/howto/static-files/deployment/ How staticfiles App Works Based on the first blog of Django series, Django interacts with web servers by providing a callable application that conforms to WSGI specification. 1 2 3 4 5 class WSGIHandler (base . BaseHandler): initLock = Lock() request_class = WSGIRequest def __call__ ( self , environ, start_...