设置django的django-admin,py的问题

时间:2015-08-11 14:09:06

标签: python django macos python-2.7

我试图使用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。有什么想法吗?

2 个答案:

答案 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的各种内部。
  •