Я следую этой установке для этого проекта: https://github.com/IntelligentTrading/data
В проекте используется папка настроек, а не файл settings.py.(Это делает эту ошибку довольно уникальной по сравнению с файлом настроек, например, не найденным).Данные из settings / vendor_services_settings.py - это то, что нужно и вызывает ошибку.Команда переноса выглядит только в файле settings / local_settings.py.
Я приступил к миграции: (я нахожусь в virtualenv)
python manage.py migrate
INFO:settings:Deployment environment detected: LOCAL
INFO:settings:Importing vendor_services_settings
INFO:settings:LOCAL environment detected. Importing local_settings.py
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/home/cerulean/.virtualenvs/ITF/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/home/cerulean/.virtualenvs/ITF/lib/python3.6/site-packages/django/core/management/__init__.py", line 357, in execute
django.setup()
File "/home/cerulean/.virtualenvs/ITF/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/cerulean/.virtualenvs/ITF/lib/python3.6/site-packages/django/apps/registry.py", line 112, in populate
app_config.import_models()
File "/home/cerulean/.virtualenvs/ITF/lib/python3.6/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/home/cerulean/.virtualenvs/ITF/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/cerulean/Code/data-sources/apps/indicator/models/__init__.py", line 5, in <module>
from apps.indicator.models.events_elementary import EventsElementary
File "/home/cerulean/Code/data-sources/apps/indicator/models/events_elementary.py", line 17, in <module>
from apps.signal.models.signal import Signal
File "/home/cerulean/Code/data-sources/apps/signal/models/__init__.py", line 1, in <module>
from apps.signal.models.signal import Signal
File "/home/cerulean/Code/data-sources/apps/signal/models/signal.py", line 15, in <module>
from settings import QUEUE_NAME, AWS_OPTIONS, BETA_QUEUE_NAME, TEST_QUEUE_NAME, PERIODS_LIST
ImportError: cannot import name 'QUEUE_NAME'
В строке 21 файла /settings/local_settings.py говорится, что необходимо передать эти данные, если 'LOCAL ', вместо того, чтобы передавать необходимые данные, как это делают другие случаи в операторе if:
else: # LOCAL
pass # see local_settings.py
Хотя в строке 28 настроек / init .py код, по-видимому, специально направленпрограмма для установки типа среды на локальный.
dt_key = os.environ.get('DEPLOYMENT_TYPE', 'LOCAL')
Это похоже на то, что код из /settings/vendor_services_settings.py не хочет экспортировать свой код, потому что программа работает в локальной среде.Я попытался добавить код из этого файла vendor_service_settings.py в файл local_settings.py, который работает до того момента, когда программа, по-видимому, нуждается в реальных данных.
BUCKET_NAME = "intelligenttrading-s3-production"
QUEUE_NAME = "intelligenttrading-sqs-production" # for production bot
# DELAYED_QUEUE_NAME = "intelligenttrading-delayed-sqs-production"
BETA_QUEUE_NAME = "intelligenttrading-sqs-beta" # for beta bot
TEST_QUEUE_NAME = ""
SNS_NAME = "intelligenttrading-sns-production"
«Перемещение» этого кода в файл local_settings.py заставляет миграцию работать временно, хотя опять-таки это не решение.Я предполагаю, что мой вопрос, как мне правильно импортировать данные между файлами в папке настроек в Django?
Я подумал о том, чтобы просто развернуть экземпляр Amazon Aurora DB, поскольку он может быть зарегистрирован как производственная среда.Хотя учебники позволят мне запустить тот же код переноса Python manage.py заранее, в любом случае.Будет ли иметь значение развертывание сервера?