我正在运行这个django应用程序(也是一个没有经验的python用户)并希望能够访问这些模型。
我有以下内容:
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 :(得分:6)
Django支持创建自定义django-admin命令(documentation)。
对于创建访问模型的命令行脚本非常有用。
答案 1 :(得分:2)
testproject
文件夹的文件夹添加到sys.path
。
例如,如果您有以下结构/foo/bar/testproject/models.py
,那么您应该将/foo/bar
添加到sys.path
testproject
文件夹中包含__init__.py
文件(可以为空)。答案 2 :(得分:1)
如果未正确加载您的设置,则from django.db import models
将失败。实际上,找不到您的testproject
包裹;将包含testproject/
的目录添加到sys.path。