我正在尝试从我的Django项目导入模型到另一个项目。我找到了两个解决方案 首先使用os.environ ['PYTHONPATH'],然后使用sys.path.append()。我的项目结构:
-Project1(Django Project)
- mysite
- settings.py
- ......
- app1
- models.py
- ......
Project2(没有Django项目)
- 测试
- dog.py
在dog.py文件中:
import sys
import os
sys.path.append("/home/jack/workspace/Project1/mysite")
os.environ['DJANGO_SETTINGS_MODULE'] ="mysite.settings"
from app1 import models
但是控制台告诉我:
from app1 import models
ImportError: No module named app1
答案 0 :(得分:2)
从您的绘图中,app1
是mysite
的兄弟姐妹 - 也就是说,它位于/home/jack/workspace/Project1/app1/
,而不是/home/jack/workspace/Project1/mysite/app1/
。
所以,sys.path.append("/home/jack/workspace/Project1/mysite")
不会对你有任何好处;你需要`sys.path.append(" / home / jack / workspace / Project1 /")'。
答案 1 :(得分:2)
您似乎在添加mysite
包的路径,而不是Project1
。但app1
位于Project1
,因此Python无法找到它。
试试这个:
sys.path.append("/home/jack/workspace/Project1")