2011-01-07 21 views
0

我以爲同樣的機制可以用於開發服務器和Apache作爲我的Web服務器,但我目前真的很困惑。django應用程序在開發服務器上工作,但我得到404上的Apache

我可以同時使用Django開發服務器訪問的URL如下

__http://devserver/my_application/ 

當我轉我的Web服務器Apache的,我得到的Django 404錯誤的所有URLs.py條目。

試圖訪問__http:// devserver /返回以下

Using the URLconf defined in antrum.urls, Django tried these URL patterns, in this order: 
^my_application/$ 
^my_application/?page=(?P<page>\d+) 
^my_application/new 
^my_application/(?P<candidate_id>\d+)/$ 
^my_application/(?P<candidate_id>\d+)/update/$ 
^my_application/(?P<candidate_id>\d+)/delete/$ 
^my_application/search/$ 
^admin/doc/ 
^admin/ 
The current URL, , didn't match any of these. 

嘗試訪問http://devserver/my_application/結果如下輸出

{'path': u'my_application/'} 

我可能做一個蹩腳的錯誤,但不能得到現在看到。我可能缺少什麼來檢查?

這裏是我的Apache配置

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

<Location "/media/"> 
    SetHandler None 
</Location> 

這裏是我的發現:

  • 切換到manage.py的runserver解決我的問題
  • Apache的error.log中沒有入口
  • 當我爲pythonpath設置環境變量並使用python CLI,我可以訪問我的模型,這也是恕我直言,離開python路徑選項關閉此
  • __http:// devserver/my_application之和__http:// devserver/my_appTYPO給出了不同的相同的錯誤消息{u'path「:...}輸出
+0

Apache日誌中有什麼? – 2011-01-07 04:24:52

+0

error.log似乎乾淨>> [Thu Jan 06 19:48:52 2011] [notice] mod_python:using mutex_directory/tmp [Thu Jan 06 19:48:52 2011] [notice] Apache/2.2.16(Ubuntu )mod_python/3.3.1 Python/2.6.6配置 - 恢復正常操作 – 2011-01-07 04:26:42

+0

access.log似乎也很乾淨,我看到我的GET請求 – 2011-01-07 04:27:29

回答

1

安裝在網站根目錄時,不要設置django.root變量。這應該只在掛載到子URL時使用。

1

嘗試使用mod_wsgi的,而不是modpython的。如果你有相同的問題,然後修改你的意見,特別是HttpResponse對象(mimetype參數)。無論如何,在Django 1.3發佈之後,modpython將不再受支持,我認爲永遠留下modpython是更好的主意

相關問題