2012-03-07 281 views
1

我有一個項目,有多個應用程序。DJANGO:錯誤導入模塊

在視圖中,我可以這樣做:

from app1.models import Foo 

,但我不能這樣做:

from app2.buz import Buz 

我已經做:

from myproject.app2.buz import Buz 

,使其工作。

爲什麼?

也許有一些與我試圖導入的模塊是這樣命名的?

charts.charts進口表

,或者不關心是什麼名字,而路徑是正確的?

回答

0

django不會調用任何有關導入的特殊魔法。導入行爲與股票python行爲相同。你在DJANGO_SETTINGS_ MODULE中做了些什麼巧妙的事情?你的應用程序在同一個目錄中嗎?以下是什麼告訴你的?

 
from app1.models import Foo 
Foo 

from myproject.app2.buz import Buz 
Buz 
+0

這兩個應用程序目錄位於項目目錄中。 這個olny發生在一個具體的應用程序,其他人工作正常。我想我沒有在django_settings中做任何事...... 另外,我想導入這兩個類的視圖也在第三個應用程序中,也在項目目錄中。 – ekms 2012-03-07 21:20:11

+0

在交互式python提示符下,當您在導入模塊名稱後輸入模塊名稱...那是什麼告訴你的? – Andrew 2012-03-09 19:50:41

+0

與一個正常的交互式Python提示符,我得到兩種導入方式的錯誤,但我認爲它與路徑和我使用virtualenv的事實有關。 從我的IDE(pycharm)中,我運行一個交互式控制檯,我得到: ImportError:設置無法導入,因爲環境變量DJANGO_SETTINGS_MODULE未定義。 但如果我運行「django控制檯」: from charts.charts進口圖表 我得到<< class charts.charts.Chart >>,它沒有抱怨。 – ekms 2012-03-12 00:25:14