Django ImproperlyConfigured: WSGI application 'myproject.wsgi.application' could not be loaded; Error importing module

Question:

I have an almost fresh install of django and when I run python manage.py runserver. It is giving me this error:

ImproperlyConfigured: WSGI application ‘myproject.wsgi.application’ could not be loaded; Error importing module.

settings.py

WSGI_APPLICATION = 'myproject.wsgi.application'

wsgi.py

import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
application = get_wsgi_application()
Asked By: tommyp

||

Answers:

Check for the stack trace – you might find answer few lines above the line “The above exception was the direct cause of the following exception:”

It may caused for example by using of middleware from some uninstalled third party app etc.

Answered By: Ondra

Comment out the

#’django.contrib.auth.middleware.SessionAuthenticationMiddleware’,

in your settings.py file in Middleware

Answered By: skuli434

I encountered the same problem because I added the debug_toolbar Middleware to my settings.py

'debug_toolbar.middleware.DebugToolbarMiddleware',

I solved the problem by removing the debug_toolbar Middleware. I also had to remove debug_toolbar from my INSTALLED APPS.

Answered By: ArturoB

Check the settings.py,

MIDDLEWARE=[
    'whitenoise.middleware.WhiteNoiseMiddleware',
]

remove 'whitenoise.middleware.WhiteNoiseMiddleware', or install Whitenoise (pip install whitenoise)

Answered By: tnductam

From my experience this happens when I try to execute runserver but I haven’t installed all custom MIDDLEWARE in setting.py. After identifying and installing the middlewares the error is resolved.

Answered By: nixenerlan

For whitenoise version 4.0 or above:
– The WSGI integration option for Django (which involved editing wsgi.py) has been removed. Instead, you should add WhiteNoise to your middleware list in settings.py and remove any reference to WhiteNoise from wsgi.py.

MIDDLEWARE = [
  'django.middleware.security.SecurityMiddleware',
  'whitenoise.middleware.WhiteNoiseMiddleware',
  # ...
]
  • The 'whitenoise.django.GzipManifestStaticFilesStorage' alias has now been removed. Instead you should use the correct import path: 'whitenoise.storage.CompressedManifestStaticFilesStorage'.
Answered By: Siddharth Das

One of the reason for this issue is if you have a middleware added into django middleware list in settings.py but haven’t installed it yet.

In my case I added corsheaders.middleware.CorsMiddleware which wasn’t installed.I installed it using pip install django-cors-headers and that did the trick.

Answered By: monofal

for anyone having this same issue. i just fixed it following the instructions here

you should add WhiteNoise to your middleware list in settings.py and remove any reference to WhiteNoise from wsgi.py.

Answered By: Romain BOBOE

I had the same error, and in my case, I had made a custom middleware and then added it to the middleware list in settings.py under MIDDLEWARE. The problem was in the casing that I had used for listing the middleware in the list. I changed it to match the casing of my custom one and it worked!

Answered By: sajeyks mwangi

got the same error when mistakenly registering a app in MIDDLEWARE = [] insted of INSTALLED_APPS = []

Answered By: benAv
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.