【问题标题】:Django ImproperlyConfigured: WSGI application 'myproject.wsgi.application' could not be loaded; Error importing moduleDjango 配置不当:无法加载 WSGI 应用程序“myproject.wsgi.application”;导入模块出错
【发布时间】:2023-03-06 20:40:01
【问题描述】:

我几乎全新安装了 django,当我尝试 python manage.py runserver.It 给我这个错误:

配置不当:无法加载 WSGI 应用程序“myproject.wsgi.application”;导入模块时出错。

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

【问题讨论】:

  • 你在运行startproject之后改变了目录名吗?
  • 你的应用叫什么名字?

标签: python django wsgi


【解决方案1】:

注释掉

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

在中间件的 settings.py 文件中

【讨论】:

  • 这一行最好去掉,不要注释掉代码。还有一些解释会有所帮助,因为这是由于删除 django 2.0 中的 SessionAuthenticationMiddleware 引起的(在 django 1.10 早期已弃用)。
【解决方案2】:

根据我的经验,当我尝试执行 runserver 但我没有在 setting.py 中安装所有自定义 MIDDLEWARE 时会发生这种情况。识别并安装中间件后,错误得到解决。

【讨论】:

    【解决方案3】:

    检查 settings.py,

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

    删除'whitenoise.middleware.WhiteNoiseMiddleware',或安装Whitenoise(pip install whitenoise)

    【讨论】:

    • Whitenoise 对我来说也是个问题,我已经从另一个我使用 whitenoise 的项目中复制了 settings.py,因此不得不为此删除。 ty
    【解决方案4】:

    检查堆栈跟踪 - 您可能会在“上述异常是以下异常的直接原因:”行上方几行找到答案:

    这可能是由于使用了一些已卸载的第三方应用程序的中间件等造成的。

    【讨论】:

      【解决方案5】:

      出现此问题的原因之一是如果您在 settings.py 中的 django 中间件列表中添加了一个中间件,但尚未安装它。

      就我而言,我添加了未安装的corsheaders.middleware.CorsMiddleware。我使用pip install django-cors-headers 安装了它,就成功了。

      【讨论】:

        【解决方案6】:

        我遇到了同样的问题,因为我在我的 settings.py 中添加了 debug_toolbar 中间件

        'debug_toolbar.middleware.DebugToolbarMiddleware',
        

        我通过删除 debug_toolbar 中间件解决了这个问题。我还必须从我的安装应用程序中删除 debug_toolbar。

        【讨论】:

          【解决方案7】:

          对于任何有同样问题的人。我只是按照here的说明修复了它

          您应该在 settings.py 中将 WhiteNoise 添加到您的中间件列表中,并从 wsgi.py 中删除对 WhiteNoise 的任何引用。

          【讨论】:

            【解决方案8】:

            whitenoise version 4.0 或以上: - Django 的 WSGI 集成选项(涉及编辑 wsgi.py)已被删除。相反,您应该将 WhiteNoise 添加到 settings.py 中的中间件列表中,并从 wsgi.py 中删除对 WhiteNoise 的任何引用。

            MIDDLEWARE = [
              'django.middleware.security.SecurityMiddleware',
              'whitenoise.middleware.WhiteNoiseMiddleware',
              # ...
            ]
            
            • 'whitenoise.django.GzipManifestStaticFilesStorage' 别名现已被删除。相反,您应该使用正确的导入路径:'whitenoise.storage.CompressedManifestStaticFilesStorage'

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-01-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-05-17
              • 1970-01-01
              相关资源
              最近更新 更多