2010-12-16 153 views
1

我已經在新主機上安裝了Django應用程序,但運行服務器失敗。第一個HTTP命中出現錯誤「不支持按文件名導入」。調試Django應用程序安裝

最終錯誤讀取:

File "/usr/lib/pymodules/python2.6/django/utils/importlib.py" in import_module 
    35.  __import__(name) 

其中名稱的值是 '/網頁代碼/網址/網址'。這是ROOT_URLCONF的值。

這對開發主機有效。這兩個框都運行Django 1.1.1,但開發運行的是Python 2.5.2,而新的框2.6.5。

沒有DJANGO_SETTINGS_MODULE; settings.py文件與manage.py位於同一目錄中。新主機確實將PYTHONPATH設置爲保存Django應用程序的目錄,並且我的Django單元測試正在通過,但這些命令都未命中該url。

我試着將ROOT_URLCONF的值切換到虛線模塊引用,但是所有的排列失敗。

有關如何進行調試的任何建議?

回答說: 通過改變線路固定爲

ROOT_URLCONF='webcode.urls.urls' 

我先前已經將該值設置不帶引號,就好像它是一個Python的參考,而不是一個字符串。

回答

1

簡單的事情,首先檢查Django的:文件權限,MEDIA.ROOT,urls.py,在ROOT_URLCONF settings_local.py

+0

文件權限的URL /和它的__init__.py和urls.py是兩個相同。 MEDIA_ROOT在新盒子上顯示正確。我沒有settings_local.py文件,但確實認爲問題可能在settings.py中的ROOT_URLCONF中。 – chernevik 2010-12-16 14:58:48

+0

嘗試ROOT_URLCONF ='urls',這應該是默認值,但並不總是設置。 – 2010-12-16 15:05:14

+0

沒有工作,但確實生成了一個新的錯誤信息('no module named urls'),所以我猜'ROOT_URLCONF = webcode.urls.urls',嘿,她工作了!謝謝你的提示。 – chernevik 2010-12-16 15:30:03