3

我正在尝试在 get_absolute_url() 中使用反向函数,但它没有为视图找到正确的反向匹配。我的 url.py 没有任何错误,因为我可以通过 url“traildetail/4”等访问该视图,并且所有其他 url 都工作正常。

我有以下视图功能:

def get_trail_detail(request, trail_id=None):
    '''
    '''
    return HttpResponse(str(trail_id))

我还在urls.py中定义了以下 url 。

url(r'^traildetail/(?P<trail_id>\d{1,5})/$', 'get_trail_detail', name='get-trail-detail'),

因此,当我在django shell中运行以下代码时,出现 NoReverseMatch 错误:

reverse('trails.views.get_trail_detail',None, kwargs={'trail_id': '3'})
reverse('trails.views.get_trail_detail', args=[str(1)])
reverse('trails.views.get_trail_detail', kwargs={'trail_id': '3'})

我收到以下错误:对于上述所有尝试:

    File "/usr/local/lib/python2.7/dist-packages/django/core/urlresolvers.py", line 416, in _reverse_with_prefix
    "arguments '%s' not found." % (lookup_view_s, args, kwargs))
NoReverseMatch: Reverse for 'trails.views.get_trail_detail' with arguments '()' and keyword arguments '{'trail_id': '3'}' not found
    enter code here
4

1 回答 1

2

供将来参考 - 您可以像这样访问网址:

reverse('get-trail-detail', kwargs={'trail_id': 3})
于 2013-06-06T20:38:19.180 回答