Импортированные параметры Python Django не видны для других импортированных файлов
У меня есть старый проект с Python 2.7 и Django 1.6. Я пытаюсь запустить его под windows. Структура файлов выглядит следующим образом:
myproj/ |-- myproj/ | |-- init.py | |-- manage.py | |-- settings.py | |-- settings_common.py | |-- settings_development.py | |-- settings_production.py | |-- urls.py
Мой settings.py:
"""Code to import development/production settings."""
from platform import node
try:
from settings_common import *
except ImportError:
pass
PRODUCTION_HOSTS = ['mydbproj']
try:
from settings_definehost import PRODUCTION_HOSTS
except ImportError:
pass
if node().split('.')[0] in PRODUCTION_HOSTS:
from settings_production import *
else:
from settings_development import *
try:
from settings_local import *
except ImportError:
pass
и settings_common.py является:
"""Common settings for the mabdb."""
import os
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)
ROOT_URLCONF = 'urls'
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
...
...
...
а settings_development.py это:
"""""Настройка для систем разработки.""""
DEBUG = True
# TEMPLATE_DEBUG = DEBUG
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = SITE_ROOT
..
Когда я вызываю python manage.py runserver, я получаю это сообщение об ошибке:
Traceback (most recent call last):
File "manage.py", line 6, in <module>
import settings # Assumed to be in the same directory.
File "D:\xampp\htdocs\mabdb\mabdb\settings.py", line 17, in <module>
from settings_development import *
File "D:\xampp\htdocs\mabdb\mabdb\settings_development.py", line 31, in <module>
STATIC_ROOT = SITE_ROOT
NameError: name 'SITE_ROOT' is not defined
Как видите, константы, определенные в settings_common.py, не видны файлу settings_development.py ..
я не смог понять почему, буду благодарен за любую помощь.
Приветствуем Ваэль