У меня проблемы с настройкой DJANGO_SETTINGS_MODULE для моего проекта Django.
У меня есть каталог ~ / dev / django-project
. В этом каталоге у меня есть виртуальная среда, которую я настроил с помощью virtualenv, а также проект django под названием «цветок» с приложением внутри него под названием «онора». Запуск tree -L 3
из ~ / dev / django-project /
показывает мне следующее:
.
├── Procfile
├── blossom
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── fixtures
│ │ └── initial_data_test.yaml
│ ├── manage.py
│ ├── onora
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── admin.py
│ │ ├── admin.pyc
│ │ ├── models.py
│ │ ├── models.pyc
│ │ ├── tests.py
│ │ └── views.py
│ ├── settings.py
│ ├── settings.pyc
│ ├── sqlite3-database
│ ├── urls.py
│ └── urls.pyc
├── blossom-sqlite3-db2
├── requirements.txt
└── virtual_environment
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── activate_this.py
│ ├── django-admin.py
│ ├── easy_install
│ ├── easy_install-2.7
│ ├── gunicorn
│ ├── gunicorn_django
│ ├── gunicorn_paster
│ ├── pip
│ ├── pip-2.7
│ ├── python
│ └── python2.7 -> python
├── include
│ └── python2.7 -> /System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
└── lib
└── python2.7
Я пытаюсь выгрузить свои данные из базы данных с помощью команды
django-admin.py dumpdata
Мой подход состоит в том, чтобы запустить cd ~ / dev / django-project
, а затем запустить source virtual_environment / bin / activate
, а затем запустить django-admin.py dumpdata
Однако я получаю следующую ошибку:
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
Я немного погуглил и нашел эту страницу: https://docs.djangoproject.com/en/dev/topics/settings/#designating- the-settings
, которые говорят мне, что
Когда вы используете Django, вы должны указать ему, какие настройки вы используете. Сделайте это с помощью переменной окружения DJANGO_SETTINGS_MODULE. В значение DJANGO_SETTINGS_MODULE должно быть в синтаксисе пути Python, например. mysite.settings. Обратите внимание, что модуль настроек должен быть на Python путь поиска импорта.
Следуя предложению на Установка DJANGO_SETTINGS_MODULE в virtualenv? Я добавил строки
export DJANGO_SETTINGS_MODULE="blossom.settings"
echo $DJANGO_SETTINGS_MODULE
в virtual_environment / bin / activate. Теперь, когда я запускаю команду activate, чтобы активировать виртуальную среду, я получаю вывод:
DJANGO_SETTINGS_MODULE set to blossom.settings
Это выглядит хорошо, но теперь у меня проблема в том, что выполнение
django-admin.py dumpdata
возвращает следующую ошибку:
ImportError: Could not import settings 'blossom.settings' (Is it on sys.path?): No module named blossom.settings
Что я делаю неправильно? Как я могу проверить sys.path
? Как это должно работать?
Спасибо.