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 !')

基于文件.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.

提前谢谢。

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

您需要在项目文件夹中有一个__init__.py文件,才能将项目文件夹作为模块导入。只需在项目目录中创建一个空的__init__.py文件。

已解决

不同的配置环境是可以的问题是库依赖:

requirements.py文件为:

django静态

而不是:

dj静态

奇怪的是抛出的错误是:

django.core.exceptions.ImproverlyConfigured

而不是:

ModuleNotFoundError

最新更新