ошибка django: неправильно сконфигурировано: приложение WSGI

мое приложение работало вчера вечером, не уверен, почему оно не будет работать сегодня утром. Я думаю, что все, что я сделал, это создать приложение под названием django для хранения моих моделей, тестов и представлений.

получение этой ошибки, Запуск django с приложением Heroku Postgres на OS X и dj_database в качестве промежуточного ПО:

  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

соответствующая часть моего :

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

соответствующая (я думаю) часть моей :

WSGI_APPLICATION = '{PROJECT}.wsgi.application'

# ...

import dj_database_url
DATABASES['default'] = dj_database_url.config(default='sqlite://db/sqlite3.db')

2 ответов


создание приложения под названием django означает, что любое from django import X будет смотреть на ваше приложение, а не на django основы.

в этом случае программное обеспечение пытается импортировать django.core.wsgi, но теперь он ищет этот файл в коде вашего приложения, где его нигде не найти; следовательно, ошибка:No module named core.wsgi


дайте вашему приложению другое имя.

вам придется переименовать папку, содержащую ваше приложение, и INSTALLED_APPS вход в settings.py.


от Джанго документация:

вам нужно будет избегать именования проектов после встроенных компонентов Python или Django. В частности, это означает, что вы должны избегать использования таких имен, как Джанго (который будет конфликтовать с самим Django) или тест (который конфликтует со встроенным пакетом Python).