2017-01-20 8 views
0

私はこのようなプロジェクト構造を持っている、のPython/Djangoの輸入悪夢(ユニークなケース)

myAPI/ <--- 
     announcements/ 
      models.py 
      views.py 
      tests.py <--- 
     tests/ <---- 
      models.py 
      views.py 
     myAPI/ <--- 
     settings.py 
     .... 

は今、私は私の発表アプリに(アプリをDjangoの)私のテストをインポートすることはできませんよ。

from myAPI.tests.models import Test <--- Error!! 

発表/ models.py

from tests.models import Test <--- Error!! 

それは私も試した

ジャンゴ/発表/ tests.pyファイル内のクラスを探しているので、

myappIフォルダ(settings.pyファイル)のモジュールを探して、明らかにエラーをスローします。

このインポートに関するお手伝いをいただければ幸いです! EDIT:使ってPython 2.7

+1

私は簡単な方法を提案できます。ファイル名を変更してください。 –

+0

まあ、テストランナーは私のテストケースファイルを見つけることができないでしょう、私は仮定します! –

+0

次に、アプリ名を変更します。 –

答えて

1

これはあなたのモジュールの上部にfrom __future__ import absolute_importを置く場合はPython 3

で固定されたPythonの2の問題点の一つであるが、その後、すべての輸入は、デフォルトでは絶対的であり、それは動作します(これはPython 3の動作です)。 from . import <thing>を使用して、現在のモジュールと同じディレクトリからインポートします。

しかし、私はアプリを「テスト」と呼ぶのは嫌いです。多くのテストランナーはそこでテストを実行すると想定しています。