django Настройка wsgi с подпапкой настроек - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь использовать разные настройки среды для своего проекта, ниже приведена структура папки моего проекта:

|-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'
...

Файл dev:

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.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 24 марта 2020

Ваш файл WSGI называется wsgy.py, но Django ожидает wsgi.py. Переименуйте файл в wsgi.py.

0 голосов
/ 24 марта 2020

РЕШЕНО

Среды конфигурации различных настроек в порядке, проблема была с зависимостью библиотеки:

Файл needs.py был:

django - stati c

вместо:

dj-stati c

Странная ошибка:

django .core.exceptions.ImproperlyConfigured

вместо:

ModuleNotFoundError

0 голосов
/ 24 марта 2020

Вам необходимо иметь файл __init__.py в папке проекта, чтобы импортировать папку проекта как модуль. Просто создайте пустой __init__.py файл в каталоге проекта.

...