django.core.exceptions.ImproperlyConfigured:WSGI应用程序'应用程序'无法加载

时间:2017-01-03 10:52:24

标签: python django openshift wsgi openshift-nextgen

情景是,

我从here克隆了OpenShift-V3的Django代码。当我使用python manage.py runserver运行代码时出现错误,

  

django.core.exceptions.ImproperlyConfigured:WSGI应用程序   '应用'无法加载;导入模块时出错:   '应用程序看起来不像模块路径

我没有在代码中添加任何内容,并且已经满足了所需的包。

18 个答案:

答案 0 :(得分:4)

转到django-ex / project / settings.py

更改 settings.py 中的行,如下所示

WSGI_APPLICATION = 'application' WSGI_APPLICATION = 'wsgi.application'

就是这样:(

答案 1 :(得分:1)

在最新版本的 Django 中,要将您的应用添加到 settings.py 文件中的已安装应用中,请写入 -

[ ....,
'<appname>.apps.<Appname>Config',
]

其中 <Appname>Configapps.py 文件中函数的名称。

答案 2 :(得分:1)

如果在本地运行django项目进行开发,只需从settings.py模块中删除WSGI_APPLICATION变量即可。它需要prod / stage设置,例如settings_prod.py

答案 3 :(得分:0)

我尝试了所有这些解决方案,一个对我有用的解决方案是:

pip install django-htmlmin

缺少此模块,在requirements.txt中未提及 显示长错误消息,并以错误的wsgi应用程序配置结尾。但是在中间的某个地方,我可以看到"No module named 'htmlmin'已安装,并且已解决。

答案 4 :(得分:0)

您在添加自定义中间件时也可能会收到此错误。添加它时,请确保像这样: folder_contains_your_middleware_file.middleware_file.middleware_class

下面是我的例子:

'company_management.loginCheckMiddleware.LoginCheckMiddleware'

答案 5 :(得分:0)

转到settings.py

  • 在 MIDDLEWARE 中,检查您是否添加了任何不起作用的内容。
  • 在 INSTALLED_APPS 中,检查您是否已添加应用程序。如果没有,请添加您为此项目创建的所有应用。

示例:我今天遇到了这个错误并且完全不知道为什么会发生这种情况,然后在检查了一段时间后,我发现了一个非常愚蠢的错误,例如我已将我新创建的应用添加到 MIDDLEWARE 而不是 INSTALLED_APPS。

答案 6 :(得分:0)

当您在 MIDDLEWARE = [......] 中插入某些内容时会发生这种情况 解决方案轮胎将添加的最新附加内容放在中间件之上。

答案 7 :(得分:0)

也许使用中间件是解决这个问题的简单方法,这个问题主要发生在cors Policy

代码

class CorsMiddleware(object):
   def __init__(self, get_response):
      self.get_response = get_response

   def __call__(self, request):
      return self.get_response(request)

   def process_response(self,resp):
      resp["Access-Control-Allow-Origin"] = "*"
      return resp

答案 8 :(得分:0)

同样的问题.. 我检查了是否安装了django-cors-middleware和django-cors-header。我发现这些没有安装,然后我安装了它们。

  1. python -m pip install django-cors-middleware
  2. python -m pip install django-cors-headers

然后

  1. python manage.py migration
  2. python manage.py runserver

最后,它成功了。...

答案 9 :(得分:0)

您使用了吗 python manage.py Appname

请勿使用django-admin startapp AppName

它将解决问题

答案 10 :(得分:0)

pip install whitenoise

尽管解决了我的问题。通常在我们将项目移至不同的虚拟环境时制作。有时我们忘记安装软件包,而whitenoise只是破坏了应用程序,因为没有提到您缺少“ whitenoise”模块。

答案 11 :(得分:0)

仔细阅读,可能会说“上述异常是以下异常的直接原因:...”。而“例外”是您忘了安装whitehoise。运行pip install whitenoise,它对我有用。

答案 12 :(得分:0)

我正在使用django-cors-headers,然后我以为我没有在项目中实现cors,因此继续安装django-cors-middleware,然后开始提供wsgi异常,因此我检查了堆栈跟踪我发现django-cors-headers和django-cors-middleware相互冲突。我不得不卸载django-cors-middleware,但是它仍然提供相同的例外,因此也要卸载django-cors-headers,然后重新安装,一切正常。...

答案 13 :(得分:0)

您是否拥有Django调试工具栏

将其删除,然后检查问题是否消失。可能的情况:

pip uninstall django-debug-toolbar

INSTALLED_APPS = [
    ...
    'debug_toolbar',
    ...
]

MIDDLEWARE = [
    ...
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    ...
]

答案 14 :(得分:0)

请注意,在启动wsgi应用程序之前在任何位置导入模块时出现任何错误也会提示此消息,因此,请先查看跟踪并从头开始解决问题。

我将Django应用从python 2.7移植到了python3,并添加了各种模块导入问题,这些问题未直接与此问题相关。

答案 15 :(得分:0)

我使用了中间件CorsMiddleware,但是忘记安装它,因此在安装后,它可以完美地工作。

pip安装django-cors-headers。

所以检查类似的东西,您可能会错过类似的东西。

答案 16 :(得分:0)

在settings.py文件中 更改如下:

WSGI_APPLICATION ='您的项目名称.wsgi.application'

答案 17 :(得分:-1)

确保您处于所需的 python环境

获取执行django所需的requirements.txt文件或python modules list

安装所有模块,一切都会顺利进行。

相关问题