Как мне правильно установить DJANGO_SETTINGS_MODULE для мой проект Django (я использую virtualenv)?

У меня проблемы с настройкой 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 ? Как это должно работать?

Спасибо.

36
задан Community 23 May 2017 в 11:47
поделиться