2011-05-27 110 views
2

我剛剛得到這個django應用程序(也是一個沒有經驗的python用戶)正在運行並希望能夠訪問這些模型。將Django模型導入python cli腳本

我有以下幾點:

import sys, os 
sys.path.append('/Users/jx/dev/arc/django/second/') 
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' 
from django.db import models 
from testproject.models import Location 
loc=Location.objects.get(name='Joes') 

print loc.name 

但出現以下錯誤:

Traceback (most recent call last): 
    File "zz.py", line 6, in <module> 
    from testproject.models import Location 
ImportError: No module named testproject.models 

有沒有一種方法可以讓我確定它是否被正確加載settings.py?還是有一個明顯的語法問題? PYTHONPATH應該反映模型的位置(目前不打印os.environ)?

THX

+0

我是一個塗料 - 我沒有django項目目錄中的腳本。我想這對路徑信息是強制性的。 – timpone 2011-05-27 03:37:09

回答

2
  1. 確保已將包含testproject文件夾的文件夾添加到sys.path。 例如,如果您有以下結構​​就應該添加/foo/barsys.path
  2. 確保testproject文件夾中有一個__init__.py文件(可以爲空)。
1

如果沒有加載您的設置正確,則from django.db import models就失敗了。因爲它是,您的testproject包未找到;將包含testproject/的目錄添加到sys.path。

6

Django支持創建自定義django-admin命令(documentation)。

對創建訪問模型的命令行腳本非常有用。

+0

thx,看起來很有幫助 – timpone 2011-05-27 17:05:36