2012-09-11 22 views
0

我產生一個Django項目和它的目錄結構如下所示:誤差約Django項目的路徑和模塊導入規則

-myproject 

    --__init__.py 

    --settings.py 

    --rooturls.py 

    --dbUtils.py 

    --app1 

     ---__init__.py 

     ---views.py 

     ---urls.py 

    --app2 

     ---__init__.py 

     ---views.py 

     ---urls.py 

我想導入dbUtils我的應用程序,所以我在settings.py配置:

PROJECT_ROOT = os.path.dirname(__file__) 
sys.path.insert(0, PROJECT_ROOT) 

但是,程序仍然找不到該模塊。

+0

只要說你在使用它的地方輸入dbUtils。 – karthikr

+0

但我想在其他應用程序中導入它。如果我將它放在app1中,我仍然不能將它導入到app2中....我想設置一個全局env來解決這個問題,而不是將它放在每個應用程序中。 – stackpop

回答

1

如果您正在使用WSGI安裝嘗試,你需要在很可能是你的wsgi腳本來更新路徑wsgi.py

否則,更新您的PYTHONPATH這條路徑。

UPDATE:你可以導入作爲

from myproject import dbUtils 

更新在settings.pysys.path對於不真是個好地方。

+0

我在wsgi.py中添加下面的代碼,它仍然不工作.PROJECT_ROOT = os.path.dirname(__ file__) sys.path.insert(0,PROJECT_ROOT) – stackpop

+0

@stackpop,檢查我的更新,你可以做'從myproject導入dbUtils' – Rohan