读取WSGI处理程序时发生错误。在IIS上托管DJango时出现ModuleNotFoundError”。找不到设置

时间:2019-07-16 07:15:42

标签: python django iis wsgi

我第一次这样做。我正在尝试在Windows IIS服务器上托管我的Django rest应用。我已按照本教程https://medium.com/@Jonny_Waffles/deploy-django-on-iis-def658beae92进行操作,但出现以下错误。它与conda环境有关系吗?我没有使用任何配置文件。我已经在系统变量中设置了环境变量。

在我的settings.py

WSGI_APPLICATION = 'webapi.wsgi.application'

在wsgi.py

import os

from django.core.wsgi import get_wsgi_application
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'webapi.settings')

    application = get_wsgi_application()
Error occurred while reading WSGI handler:

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\site-packages\wfastcgi.py", line 791, in main
    env, handler = read_wsgi_handler(response.physical_path)
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\site-packages\wfastcgi.py", line 633, in read_wsgi_handler
    handler = get_wsgi_handler(os.getenv("WSGI_HANDLER"))
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\site-packages\wfastcgi.py", line 616, in get_wsgi_handler
    raise ValueError('"%s" could not be imported%s' % (handler_name, last_tb))
ValueError: "webapi.wsgi.application" could not be imported: Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\site-packages\wfastcgi.py", line 600, in get_wsgi_handler
    handler = __import__(module_name, fromlist=[name_list[0][0]])
  File "C:\inetpub\wwwroot\webapi\webapi\wsgi.py", line 16, in <module>
    application = get_wsgi_application()
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\site-packages\django\core\wsgi.py", line 12, in get_wsgi_application
    django.setup(set_prefix=False)
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\site-packages\django\__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\site-packages\django\conf\__init__.py", line 79, in __getattr__
    self._setup(name)
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\site-packages\django\conf\__init__.py", line 66, in _setup
    self._wrapped = Settings(settings_module)
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\site-packages\django\conf\__init__.py", line 157, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "C:\ProgramData\Anaconda3\envs\api_env\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'C:\\inetpub\\wwwroot\\webapi\\webapi\\settings'



StdOut: 

StdErr:

1 个答案:

答案 0 :(得分:0)

对我来说,导致相同错误消息的问题是在我的FastCGI处理程序的设置中,环境变量DJANGO_SETTINGS_MODULE是错误的。

它必须是模块路径,即MyProject.settings而不是我假设的C:\inetpub\wwwroot\MyProject\MyProject\settings.py

为您服务:DJANGO_SETTINGS_MODULE = webapi.settings

相关问题