django - Django生产服务器中的NoReverseMatch

标签 django django-urls

该项目在开发服务器中运行正常,但是当我尝试在生产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

最佳答案

尝试添加:从obras.urls中将urlpatterns作为obras_urlpatterns导入到urls.py中。我敢打赌,它失败了,问题在于生产中的PYTHONPATH找不到obras应用程序。确保正确设置。

关于django - Django生产服务器中的NoReverseMatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6599295/

相关文章:

python - Django Url 未使用查询参数解析

python - 让 Django 接受带有无限参数的 url

python - 动态扩展 urlpatterns

django - 从 Heroku 上托管的 Django 项目的子目录运行非 Django 命令?

python - 分布式任务队列(例如 Celery)与 crontab 脚本

python - 在 Django 中批量创建相关模型

python - 在 Django 中导入类时出错

python - 使用简单路径找不到 Django 页面

Django url templatetag(但不是rev​​erse())错误: Caught NoReverseMatch while rendering

python - Django 表单字段上传错误文件名错误