2011-04-01 145 views
1
  1. 項目名稱:親
  2. 項目位置:/家庭/ cha0s/PRO/
  3. 應用位置:/家庭/ cha0s/PRO /應用/,其中是文件夾不同的應用程序,如博客,評論等..

Apache配置:Django應用程序路徑

<Location "/"> 
     SetHandler python-program 
     PythonHandler django.core.handlers.modpython 
     SetEnv DJANGO_SETTINGS_MODULE pro.settings 
     PythonDebug On 
     PythonPath "['/home/cha0s/','/home/cha0s/pro/apps/'] 
+ sys.path" </Location> 

所以現在的問題是:用下面的配置,要導入INSTALLED_APPS的應用程序,例如博客,我需要寫只是

INSTALLED_APPS = (
    ..... 
    'blog', 
    'gallery', 
    ...... 
) 

,但如果我走這條線「的/ home/cha0s/PRO/apps /'遠離python路徑,然後按我的邏輯安裝一個模塊,例如博客,我需要編寫完整路徑,如pro.apps.blog它應該可以工作,但事實並非如此。怎麼來的 ?

SOLUTION:

感謝林。不知道如何標記Thierry Lam的答案是否正確,所以我只是在這裏寫下來。

init .py文件必須在apps目錄中創建,即使它只是一個沒有文件的目錄。那就沒有必要「/家庭/ cha0s/PRO /應用/」在Apache配置線路和模塊可以聲明如下pro.apps.blog

+1

你有以下文件'apps/__ init __。py'嗎? – 2011-04-01 21:42:19

+0

如果我正確理解這一點,我認爲這是因爲Django無法將「pro.apps.blog」解析爲真正的路徑。 – bogeymin 2011-04-01 21:43:22

+0

@Thierry Lam嗯......你也許沒錯......沒有想過。我在apps目錄中沒有init.py。不知道爲什麼,但我認爲他們只需要在其他一些文件就像views.py的文件夾中,但現在你提到它可能是對的=)現在就試試吧。 – Viktor 2011-04-02 01:56:38

回答

3

你有以下文件apps/__init__.py