我第一次这样做。我正在尝试在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:
答案 0 :(得分:0)
对我来说,导致相同错误消息的问题是在我的FastCGI处理程序的设置中,环境变量DJANGO_SETTINGS_MODULE是错误的。
它必须是模块路径,即MyProject.settings
而不是我假设的C:\inetpub\wwwroot\MyProject\MyProject\settings.py
。
为您服务:DJANGO_SETTINGS_MODULE = webapi.settings