django error: ImproperlyConfigured: WSGI application

强颜欢笑 提交于 2021-01-27 04:25:11

问题


My application was working last night, not sure why it won't work this morning. I think that all I did was to create an app called django to store my models, tests, and views.

Getting this error, running django with 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

Relevant part of my wsgi.py file:

"""
WSGI config for {PROJECT} project.

This module contains the WSGI application used by Django's development
server and any production WSGI deployments. It should expose a
module-level variable named ``application``. Django's ``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's 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)

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')

回答1:


Creating an app called django means that any from django import X is going to be looking at your app, not at the django framework.

In this case, the software is trying to import django.core.wsgi, but it's now looking for this file in your app's code, where it's nowhere to be found; hence the error: No module named core.wsgi


Give your app another name.

You'll have to rename the folder that contains your app, and the INSTALLED_APPS entry in settings.py.




回答2:


from the Django documentation:

You’ll need to avoid naming projects after built-in Python or Django components. In particular, this means you should avoid using names like django (which will conflict with Django itself) or test (which conflicts with a built-in Python package).



来源:https://stackoverflow.com/questions/14801778/django-error-improperlyconfigured-wsgi-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!