【发布时间】:2011-09-29 18:26:52
【问题描述】:
该项目在开发服务器中运行良好,但是当我尝试在生产 sv(Gunicorn + Nginx) 中使用它时,出现 NoReverseMatch 错误。查了好几遍代码都没有发现错误。
urls.py:
from django.conf.urls.defaults import patterns, include, url
from django.conf import settings
urlpatterns = patterns('',
(r'^obras/', include('obras.urls')),
)
obras urls.py:
from django.conf.urls.defaults import *
from obras import views
urlpatterns = patterns('',
url(r'^presobra/$', views.pres_obra, name='pres_obra'),
)
错误信息:
请求网址: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
【问题讨论】:
-
请贴出实际的错误信息。
-
我遇到了类似的错误;一件奇怪的事情是,如果我使用 gunicorn_django,它可以工作,但如果我使用 gunicorn,我会收到此错误。我的 python 路径还包括我的应用程序,所以我认为这不是路径问题。
标签: django django-urls