2013-07-15 31 views
0

我试图从我的Django项目导入模型到另一个项目。我发现了两个解决方案: 先使用os.environ ['PYTHONPATH'],然后使用sys.path.append()。我的项目结构:没有使用sys.path.append命名模块

-Project1(Django项目)
  - mysite的
      - settings.py
      - ...
  - APP1
      - 模型。 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

我只想补充应用程序1到你的SYS路径,然后进口车型。 – debianplebian

回答

1

从您的图纸中,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 /”)'。

0

您似乎正在为mysite程序包添加路径,而不是Project1。但是app1位于Project1,所以Python找不到它。

试试这个:

sys.path.append("/home/jack/workspace/Project1")