2016-07-19 46 views
1

我正在使用虛擬環境來開發項目。使用python3和Django 1.9.7
我將視圖拆分爲多個文件。以下是樹結構。Django視圖顯示虛擬環境中的錯誤

|-- 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文件 -

from VehicleView import * 
from DashboardView import * 

當我啓動虛擬環境中運行的代碼,它拋出下面的錯誤我 -

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

如果我不激活虛擬環境和運行代碼,它運行時沒有任何錯誤。默認Django版本1.8.4和python 2.7.6

回答

2

在您的__init__.py嘗試使用本地導入,如果您在虛擬環境中使用python3,這可能是一個問題。

from .VehicleView import * 
from .DashboardView import * 

除了在蟒蛇應該遵循蛇的情況下約定的文件和模塊名,只有類應該使用駝峯。

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)是導入系統的文檔。 –