2011-07-06 19 views
2

項目在dev服務器上正常工作,但是當我嘗試在生產sv(Gunicorn + Nginx)中使用它時,NoReverseMatch錯誤出現。我檢查了幾次代碼,但找不到錯誤。Django製作服務器中的NoReverseMatch

urls.py:

from django.conf.urls.defaults import patterns, include, url 
from django.conf import settings 

urlpatterns = patterns('', 
    (r'^obras/', include('obras.urls')), 
) 

奧夫拉斯urls.py:

from django.conf.urls.defaults import * 
from obras import views 

urlpatterns = patterns('', 
    url(r'^presobra/$', views.pres_obra, name='pres_obra'), 
) 

錯誤消息:

請求URL:http://127.0.0.1:8888/admin/

Python的路徑:
['/ srv/www/antingprojects.com.ar/gobras', ... 「]

異常值:
夾縫NoReverseMatch而呈現:反向關於 'pres_obra' 與參數 '()' 和關鍵字參數 '{}' 未找到。

模板錯誤

在模板/srv/www/antingprojects.com.ar/gobras/templates/admin/index.html,錯誤的線75 陷入NoReverseMatch同時呈現:反轉與參數 'pres_obra' '()'和關鍵字參數'{}'未找到。

75  <li><a href={% url pres_obra %}>Presupuestos-Obras</a></li> 

settings.py:

import os.path 
PROJECT_DIR = os.path.dirname(__file__) 
ROOT_URLCONF = 'gobras.urls' 

項目結構:

-gobras 
--obras 
--media 
+2

請發佈實際的錯誤信息。 –

+0

我有類似的錯誤;一個奇怪的是,如果我使用gunicorn_django,它的工作原理,但如果我使用gunicorn,我會得到這個錯誤。我的Python路徑也包括我的應用程序,所以我不認爲這是一個路徑問題。 –

回答

0

嘗試增加:從obras.urls進口URL模式爲obras_urlpatterns到urls.py.我敢打賭,它失敗了,問題是生產中的PYTHONPATH沒有找到obras應用程序。確保你設置正確。

+0

我認爲PYTHONPATH是正確的,我將它發佈在操作中。 – mfalcon