我在为Django项目设置DJANGO_SETTINGS_MODULE时遇到麻烦。
我有一个目录~/dev/django-project。在此目录中,我有一个用virtualenv设置的虚拟环境,还有一个名为“ blossom”的Django项目,其中包含一个名为“ onora”的应用程序。tree -L 3从运行~/dev/django-project/ 向我显示以下内容:
~/dev/django-project
“ blossom”
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
cd ~/dev/django-project
source virtual_environment/bin/activate
但是,我收到以下错误:
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
我进行了一些谷歌搜索,发现了以下页面:https : //docs.djangoproject.com/en/dev/topics/settings/#designating-the-settings
https : //docs.djangoproject.com/en/dev/topics/settings/#designating-the-settings
告诉我
使用Django时,必须告诉它所使用的设置。通过使用环境变量DJANGO_SETTINGS_MODULE来执行此操作。DJANGO_SETTINGS_MODULE的值应采用Python路径语法,例如mysite.settings。请注意,设置模块应位于Python导入搜索路径上。
在virtualenv下设置DJANGO_SETTINGS_MODULE时有建议吗?我追加了几行
export DJANGO_SETTINGS_MODULE="blossom.settings" echo $DJANGO_SETTINGS_MODULE
到virtual_environment / bin / activate。现在,当我运行activate命令以激活虚拟环境时,输出如下:
virtual_environment / bin / activate
DJANGO_SETTINGS_MODULE set to blossom.settings
这对我来说看起来不错,但是现在我的问题是跑步
返回以下错误:
ImportError: Could not import settings 'blossom.settings' (Is it on sys.path?): No module named blossom.settings
我究竟做错了什么?如何检查sys.path?这应该如何工作?
sys.path
django-admin.py除了最初的项目创建外,请勿运行其他任何内容。对于此后的所有操作,请使用manage.py,它会负责查找设置。
django-admin.py
manage.py