Django ModuleNotFoundError:尝试使用 wsgi 服务器托管应用程序时,没有名为 'mysite.settings' 的模块



所以我想使用wsgi在cherryPy Web服务器上部署我的第一个django应用程序。我对os.environg['JANGO_SETINGS_MODULE']有问题。当尝试运行可调用的应用程序时,它会抛出错误,即找不到该模块。项目结构:

ResourceManager
ResourceManager
ResourceManager
__init__.py
cherryserver.py
settings.py
urls.py
wsgi.py
SimpleResourceManager
migrations
__init__.py
admin.py
apps.py
models.py
serializers.py
tests.py
urls.py
views.py
manage.py

wsgi.py文件:

import os
import sys
from django.core.wsgi import get_wsgi_application

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,BASE_DIR)
os.environ['DJANGO_SETTINGS_MODULE'] = 'ResourceManager.settings'
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ResourceManager.settings')
application = get_wsgi_application()

cherryserver.py:

import cherrypy
from ResourceManager.ResourceManager.wsgi import application

if __name__ == '__main__':
# Mount the application
cherrypy.tree.graft(application, "/")
# Unsubscribe the default server
cherrypy.server.unsubscribe()

# Instantiate a new server object
server = cherrypy._cpserver.Server()
# Configure the server object
server.socket_host = "0.0.0.0"
server.socket_port = 8080
server.thread_pool = 30
# Subscribe this server
server.subscribe()
cherrypy.engine.start()
cherrypy.engine.block()

当使用命令runserver 8080时,应用程序运行良好,但当我尝试在不同的服务器上运行它时。它说ModuleNotFoundError:没有名为"的模块;ResourceManager.settings";。

所以我尝试了:更改cherryserver.py在目录中的位置,我在wsgy.py文件中添加了额外的代码行,当我在不同的服务器上部署我的应用程序时,我已经不知道哪里出了问题。为什么我使用cherryPy,我必须测试5个基于python的web服务器。

尝试从更改

from ResourceManager.ResourceManager.wsgi import application

收件人:

from wsgi.py import application

这是因为它们位于同一目录中,如果这不起作用,只需处理from,因为您的wsgi文件路径似乎是错误的。

相关内容

最新更新