首页 > 解决方案 > 带有设置子文件夹的 django wsgi 设置

问题描述

我正在为我的项目尝试不同的环境设置,下面是我的项目文件夹结构:

|-app
|-project
 |-__init__.py
 |-settings
  |-__init__.p
  |-base.py
  |-dev.py
  |-prod.py
 |-urls.py
 |-wsgi.py

在 base.py 中,我如何设置 WSGI_APPLICATION django 设置变量以指向父文件夹上的 wsgi 文件?

文件 wsgi.py:

if base.STATUS == 'DEV':
  os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings.dev')
  application = get_wsgi_application()
elif base.STATUS == 'PROD':
  os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings.prod')
  application = Cling(get_wsgi_application())
else:
  raise Exception('Settings App Error !')

文件base.py:

...
WSGI_APPLICATION = 'project.wsgi.application'
...

文件开发:

from project.settings.base import *

ALLOWED_HOSTS = ['127.0.0.1']
DEBUG = TRUE

文件 prod.py:

from project.settings.base import *

ALLOWED_HOSTS = ['domain']
DEBUG = FALSE

错误是:

django.core.exceptions.ImproperlyConfigured: WSGI application 'project.wsgi.application' could not be loaded; Error importing module.

提前致谢。

标签: djangowsgi

解决方案


您的 WSGI 文件已命名wsgy.py,但 Django 需要wsgi.py. 将文件重命名为wsgi.py.


推荐阅读