2013-10-03 39 views
0

好吧我試圖在我的web服務器上使用fastcgi開發django。我差不多完成了,但由於某些原因,當我運行fastcgi腳本時,它無法找到我的settings.py。Django與FastCGI無法找到設置

這裏是我的錯誤:

ImportError: Could not import settings 'skyblue.settings' (Is it on sys.path?): No module named settings 

dispatch.fcgi:

#!/usr/bin/python2.7 

import sys 
import os 


sys.path.append('/home/skybluep/website/skyblue') 
os.chdir("/home/skybluep/website/skyblue") 
#sys.path.insert(0, '/home/skybluep/local/lib/python2.7/site-packages/') 
os.environ[ 'DJANGO_SETTINGS_MODULE' ] = 'skyblue.settings' 

from django.core.servers.fastcgi import runfastcgi 
runfastcgi(method="threaded", daemonize="false") 

回答

1

敲我的頭靠在點擊牆上的東西之後。我意識到python沒有看到skyblue.settings作爲python模塊。所以我添加了__ init __ .py文件到skyblue目錄。 Django確實在skyblue/skyblue中創建了__ init __.py文件,但不在第一個目錄中。我不知道爲什麼fastcgi腳本無法從PYTHONPATH中得出這個結果,但是無論我最終是否使用FCGI在我的Apache共享主機帳戶上解析了Django。

我只是做了一個說明,最終刪除了init.py文件以獲得其他的工作,但似乎在閱讀skyblue.settings文件後,它仍然被視爲一個模塊,即使我刪除了init文件。