该项目在开发服务器中工作正常,但是当我尝试在生产系列(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
答案 0 :(得分:0)
尝试添加:从obras.urls导入urlpatterns作为obras_urlpatterns到urls.py.我敢打赌,它失败了,问题是生产中的PYTHONPATH没有找到obras应用程序。确保正确设置。