2

Django プロジェクトから別のプロジェクトにモデルをインポートしようとしています。最初に os.environ['PYTHONPATH'] を使用し、次に sys.path.append() を使用して 2 つの解決策を見つけました。私のプロジェクト構造:

-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
4

2 に答える 2

4

mysiteではなく、パッケージへのパスを追加しているようですProject1。しかしapp1は にあるProject1ため、Python はそれを見つけることができません。

これを試して:

sys.path.append("/home/jack/workspace/Project1")
于 2013-07-15T20:49:37.257 に答える
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/")' が必要です。

于 2013-07-15T20:49:23.783 に答える