簡體   English   中英

Django ModuleNotFoundError:嘗試使用 wsgi 服務器托管應用程序時,沒有名為“mysite.settings”的模塊

[英]Django ModuleNotFoundError: No module named 'mysite.settings' when trying to host application with wsgi server

所以我想使用 wsgi 在cherryPy 網絡服務器上部署我的第一個django 應用程序。 我有 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()

櫻桃服務器.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 服務器。

嘗試從:

from ResourceManager.ResourceManager.wsgi import application

到:

from wsgi.py import application

這是因為它們位於同一目錄中,如果這不起作用,則只需使用 from 就可以了,因為您的 wsgi 文件路徑似乎是錯誤的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM