我几乎全新安装了 django,当我运行python manage.py runserver
时。它给了我这个错误:
配置不正确:无法加载 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()
注释掉
#'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
在中间件的 settings.py 文件中
根据我的经验,当我尝试执行runserver但我没有在 setting.py 中安装所有自定义中间件时,就会发生这种情况。识别并安装中间件后,错误得到解决。
检查 settings.py,
MIDDLEWARE=[
'whitenoise.middleware.WhiteNoiseMiddleware',
]
删除'whitenoise.middleware.WhiteNoiseMiddleware',
或安装白噪声(点安装白噪声)
检查堆栈跟踪 - 您可能会在"上述异常是以下异常的直接原因:"行上方几行找到答案:">
例如,它可能是由于使用来自某些卸载的第三方应用程序等的中间件引起的。
此问题的原因之一是,如果您在 settings.py 的 django 中间件列表中添加了中间件,但尚未安装它。
就我而言,我添加了未安装corsheaders.middleware.CorsMiddleware
。我使用pip install django-cors-headers
安装了它,这起到了作用。
我遇到了同样的问题,因为我将debug_toolbar中间件添加到我的 settings.py
'debug_toolbar.middleware.DebugToolbarMiddleware',
我通过删除debug_toolbar中间件解决了这个问题。我还必须从已安装的应用程序中删除debug_toolbar。
对于whitenoise version 4.0
或以上: - 删除了 Django 的 WSGI 集成选项(涉及编辑 wsgi.py)。相反,您应该在 settings.py 将WhiteNoise添加到中间件列表中,并从 wsgi.py 中删除对WhiteNoise的任何引用。
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
# ...
]
'whitenoise.django.GzipManifestStaticFilesStorage'
别名现已删除。相反,您应该使用正确的导入路径:'whitenoise.storage.CompressedManifestStaticFilesStorage'
。
适用于遇到相同问题的任何人。 我只是按照这里的说明修复了它
您应该在 settings.py 中将白噪声添加到中间件列表中,并从 wsgi.py 中删除对白噪声的任何引用。
我遇到了同样的错误,就我而言,我制作了一个自定义中间件,然后将其添加到settings.py
MIDDLEWARE
下的中间件列表中。问题出在我用于在列表中列出中间件的大小写中。我更改了它以匹配我的自定义外壳,它起作用了!
在中间件 = [] 而不是 INSTALLED_APPS = [] 中错误地注册应用程序时遇到相同的错误 = []