我试图使用django-admin.py loaddata
在开发服务器上播种数据库。我正在使用django 1.7.1
。将文件符号链接到我的项目后,当我尝试运行该命令时出现此错误:
django.core.exceptions.ImproperlyConfigured: Requested setting USE_I18N, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
这引出了我this的问题。所以我尝试了推荐的export DJANGO_SETTINGS_MODULE=inventory_manage.settings
解决方案。但是,当我再次尝试运行loaddata
命令时,我遇到了ImportError
:
ImportError: Could not import settings 'inventory_manager.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named inventory_manager.settings
进一步research导致检查我的网站是否位于sys.path
我的virtualenv。它是:
/Users/Aaron/Development/inventory-manager <--This is it
/Users/Aaron/.virtualenvs/inventorymgr/lib/python27.zip
/Users/Aaron/.virtualenvs/inventorymgr/lib/python2.7
/Users/Aaron/.virtualenvs/inventorymgr/lib/python2.7/plat-darwin
/Users/Aaron/.virtualenvs/inventorymgr/lib/python2.7/plat-mac
/Users/Aaron/.virtualenvs/inventorymgr/lib/python2.7/plat-mac/lib-scriptpackages
/Users/Aaron/.virtualenvs/inventorymgr/Extras/lib/python
/Users/Aaron/.virtualenvs/inventorymgr/lib/python2.7/lib-tk
/Users/Aaron/.virtualenvs/inventorymgr/lib/python2.7/lib-old
/Users/Aaron/.virtualenvs/inventorymgr/lib/python2.7/lib-dynload
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/Users/Aaron/.virtualenvs/inventorymgr/lib/python2.7/site-packages
然而,当我运行loaddata
命令时,我仍然得到相同的ImportError
。有什么想法吗?
答案 0 :(得分:2)
您应该只使用django-admin.py
来创建项目。之后,请始终使用manage.py
,因为它指向您的实际项目设置。
答案 1 :(得分:2)
您需要已经在python项目根目录中,并且应该使用python manage.py loaddata
;这将是setup the environment for you correctly:
此外,在每个Django中自动创建manage.py 项目。 manage.py是一个围绕django-admin的瘦包装 在委托给django-admin之前,请为您处理好几件事:
- 它将您的项目包放在sys.path。
- 它设定了 DJANGO_SETTINGS_MODULE环境变量,以便它指向您的 project的settings.py文件。
- 它调用django.setup()来初始化 Django的各种内部。