2016-07-19 17 views
1

仮想環境を使用してプロジェクトを開発しています。 python3とDjangoを使う1.9.7
私は複数のファイルにビューを分割しています。以下は木構造です。私は、仮想環境と実行を活性化しない場合はDjangoビューで仮想環境のエラーが表示される

File "/home/rana/DjangoProject/FirstChoice/MyFirstCar/MyFirstCarBackEnd/Views/__init__.py", line 1, in <module> 
    from VehicleView import * 
ImportError: No module named 'VehicleView' 

- それは、エラーの下に私をスロー

from VehicleView import * 
from DashboardView import * 

私は仮想環境を活性化し、コードを実行しています -

|-- urls.pyc 
`-- Views 
    |-- DashboardView.py 
    |-- DashboardView.pyc 
    |-- __init__.py 
    |-- __init__.pyc 
    |-- __pycache__ 
    | |-- DashboardView.cpython-34.pyc 
    | |-- __init__.cpython-34.pyc 
    | `-- VehicleView.cpython-34.pyc 
    |-- VehicleView.py 
    `-- VehicleView.pyc 

ファイル__init__.pyインサイドコード、それは何のエラーもなく実行されます。デフォルトのdjangoバージョン1.8.4とpython 2.7.6

答えて

2

あなたの__init__.pyでローカルインポートを使用しようとすると、仮想環境でpython3を使用していると問題が発生する可能性があります。

さらに、pythonのファイル名とモジュール名は、snakeの大文字と小文字の区別に従うべきですが、クラスだけがCamelCaseを使用する必要があります。

from .vehicle_view import * 
form .dashboard_view import * 
+0

ローカルインポートとは何ですか?他のタイプの輸入品は何ですか? – User42

+1

@ User42 "ローカルインポート"は、 "同じディレクトリにあるファイルからインポートする"ことを意味します。 「読み込み」は、現在のファイルにある他のファイルのコードを含むため、たくさんのものをコピー/ペーストする必要なしに使用できます。 [Here](https://en.wikibooks.org/wiki/A_Beginner%27s_Python_Tutorial/Importing_Modules)は、インポート可能なモジュールを書く方法の例です。[here](https://docs.python.org/3/reference /import.html)は、インポートシステムのドキュメントです。 –

関連する問題