Django プロジェクトの DJANGO_SETTINGS_MODULE の設定で問題が発生しています。
にディレクトリがあります~/dev/django-project
。このディレクトリには、virtualenv で設定した仮想環境と、その中に「onora」というアプリがある「blossom」という 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/#設定を指定する
それは私に
Django を使用する場合、どの設定を使用するかを伝える必要があります。これを行うには、環境変数 DJANGO_SETTINGS_MODULE を使用します。DJANGO_SETTINGS_MODULE の値は、mysite.settings などの Python パス構文で指定する必要があります。設定モジュールは、Python インポート検索パス上にある必要があることに注意してください。
の提案に従ってvirtualenv で DJANGO_SETTINGS_MODULE を設定しますか?私は次の行を追加しました
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
? これはどのように動作するのでしょうか?
ありがとう。
ベストアンサー1
最初のプロジェクト作成時以外は を実行しないでくださいdjango-admin.py
。それ以降はすべて を使用してください。これによりmanage.py
設定の検索が行われます。