python - Django 错误 : ImproperlyConfigured: WSGI application

标签 python django wsgi django-middleware

我的应用程序昨晚运行正常,不知道为什么今天早上就不能运行了。我认为我所做的只是创建一个名为 django 的应用程序来存储我的模型、测试和 View 。

出现此错误,在 OS X 上使用 Heroku Postgres 应用程序运行 django 并将 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.py 文件的相关部分:

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

我的 settings.py 文件的相关(我认为)部分:

WSGI_APPLICATION = '{PROJECT}.wsgi.application'

# ...

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

最佳答案

创建一个名为 django 的应用程序意味着任何 from django import X 都将查看您的应用程序,而不是 django 框架.

在这种情况下,软件正在尝试导入 django.core.wsgi ,但它现在正在您的应用程序代码中寻找此文件,但无处可寻;因此出现错误:No module named core.wsgi


为您的应用重新命名。

您必须重命名包含您的应用程序的文件夹,以及 settings.py 中的 INSTALLED_APPS 条目。

关于python - Django 错误 : ImproperlyConfigured: WSGI application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14801778/

相关文章:

python - 不使用 if 但使用 else 的列表推导式

python - 将从一个函数生成的多项式系数传递给另一个函数

python - 在 db 中存储为字符串后检索相等的 numpy 数组

python - 在 Django 模板中使用外键作为变量

python - 我的应用程序的管理模板与内置模板的优先级

api - 使用 uvicorn.run 以编程方式启动时启用 Uvicorn 自动重启时出现问题

python - python-wsgi如何管理http请求?

python - Python 中的匈牙利算法

python - Pandas Dataframe 分组依据,带有列表的列

python - 无法使用 uWSGI 和 NGINX 导入名称 'app'