【问题标题】:Django ModuleNotFoundError: No module named 'mysite.settings' when trying to host application with wsgi serverDjango ModuleNotFoundError:尝试使用 wsgi 服务器托管应用程序时没有名为“mysite.settings”的模块
【发布时间】:2020-12-26 01:54:21
【问题描述】:

所以我想将我的第一个 django 应用程序部署在使用 wsgi 的cherryPy 网络服务器上。我对 os.environ['DJANGO_SETTINGS_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: No module named "ResourceManager.settings"。

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

【问题讨论】:

    标签: python django wsgi cherrypy django-wsgi


    【解决方案1】:

    尝试更改:

    from ResourceManager.ResourceManager.wsgi import application
    

    收件人:

    from wsgi.py import application
    

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

    【讨论】:

      猜你喜欢
      • 2021-08-28
      • 2020-04-01
      • 1970-01-01
      • 2019-02-23
      • 2020-01-15
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      • 2019-08-21
      相关资源
      最近更新 更多