2017-01-31 6 views
2

別のDjangoアプリケーション内の1つのDjangoアプリケーションからクラスをインポートしようとしています。djangoのあるアプリケーションから別のアプリケーションにクラスをインポートすることができません

from mainProjectFolder.app1.class1 import Class1 

をそして私は次のエラーを取得する:app2.anotherClass.py

mainProjectFolder 
|--__init__.py 
|--manage.py 
|--app1 
    |--__init__.py 
    |--class1.py 
|--app2 
    |--__init__.py 
    |--anotherClass.py 
|--mainProjectFolder 
    |--__init__.py 
    |--settings.py 
    ... 

、私がやっている私はsettings.pyファイルにINSTALLED_APPSで私のアプリを登録している

ImportError: No module named 'mainProjectFolder.app1' 

にも。

不明な点がある場合はお知らせください。必要に応じて編集します。

答えて

4

インポートのためにプロジェクト名を含める必要はありません。 プロジェクトフォルダに同じレベルの階層にあるすべてのアプリケーションを持っている場合は、そのアプリケーションでファイルを呼び出してください。

だけ使用します。

from app1.class1 import Class1 

from app2.anotherClass import Class2 

とエラーに関するを:

'unresolved references app1' 

その後、ソースルートとしてアプリをプロジェクトフォルダからなるアプリケーションを使用します。認識される。

+0

これは相対的なインポートではなく、 'app2.anotherClass'から' app1.class1'をインポートしています。 –

+0

@ParthapratimNeog私の解決策を使用してください。名前は相対的なインポートではないかもしれませんが、解決策は正しいです。 –

+0

これは実際には機能しましたが、PyCharmにはまだ未知の参照があります。 '未解決の参照app1' –

関連する問題