Django error: Incorrect Configured: WSGI Application

My application worked last night, I don’t know why it will not work this morning. I think all I did was create an application called django to store my models, tests and views.

Getting this error, running django using the Heroku Postgres application on OS X and dj_database as middleware:

  File "/Users/{ME}/Projects/{PROJECT}/{PROJECT}/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 58, in get_internal_wsgi_application "could not import module '%s': %s" % (app_path, module_name, e)) django.core.exceptions.ImproperlyConfigured: WSGI application '{PROJECT}.wsgi.application' could not be loaded; could not import module '{PROJECT}.wsgi': No module named core.wsgi 

The corresponding part of my wsgi.py file wsgi.py :

 """ WSGI config for {PROJECT} project. This module contains the WSGI application used by Django development server and any production WSGI deployments. It should expose a module-level variable named ``application``. Django ``runserver`` and ``runfcgi`` commands discover this application via the ``WSGI_APPLICATION`` setting. Usually you will have the standard Django WSGI application here, but it also might make sense to replace the whole Django WSGI application with a custom one that later delegates to the Django one. For example, you could introduce WSGI middleware here, or combine a Django application with an application of another framework. """ import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "do.settings") # This application object is used by any WSGI server configured to use this # file. This includes Django development server, if the WSGI_APPLICATION # setting points here. from django.core.wsgi import get_wsgi_application application = get_wsgi_application() # Apply WSGI middleware here. # from helloworld.wsgi import HelloWorldApplication # application = HelloWorldApplication(application) 

The relevant (I think) part of my settings.py file:

 WSGI_APPLICATION = '{PROJECT}.wsgi.application' # ... import dj_database_url DATABASES['default'] = dj_database_url.config(default='sqlite://db/sqlite3.db') 
+6
source share
2 answers

Creating an application called django means that anyone from django import X will watch your application, not django .

In this case, the software tries to import django.core.wsgi , but now it searches for this file in your application code, where you cannot find it anywhere; hence the error: No module named core.wsgi


Give the application a different name.

You will need to rename the folder containing your application and the INSTALLED_APPS entry in settings.py .

+7
source

from the Django documentation:

You need to avoid name projects after the built-in Python or Django components. In particular, this means that you should avoid using names such as django (which will conflict with Django itself) or test (which conflicts with the Python built-in package).

0
source

All Articles