2016-03-19 11 views
1

私のviews.pyが肥大化したので、小さな.pyファイルをすべて入れて./viewsディレクトリを作成して、それをより小さなモジュールに分割することにしました。ここで私はテストウェブサーバを起動したとき、私は何を得るのです。__init.py__がビューをインポートしないのはなぜですか?

def my_view(request): 
    #etc... 

:もちろん

from my_view import my_view 
from my_other_view import my_other_view 
#etc... 

./views/my_view.py次のようになります。

File "/path/to/the/app/views/__init__.py", line 1, in <module> 
    from my_view import my_view 
ImportError: No module named 'my_view' 

./viewsディレクトリには、いくつかの行がされ、__init__.pyが含まれています私は明らかに何かを見過ごしてきましたが、私は何を考えることができません。私が作ったエラーを見ていただけますか?

答えて

1

私はビューがあなたのPYTHON_PATHにないと思います。どちらが正しい。しかし、これはあなたが相対的なPythonのインポートを使用する必要があります意味:あなたのプロジェクトのルートから

from .my_view import my_view # note the leading dot 

または絶対インポート(あなたPYTHON_PATHであるべきである):

from myapp.views.my_view import my_view 
+0

>メルシー月AMI! – Escher

関連する問題