2013-07-23 38 views
4

我收到一个错误,在我的Django模板中创建链接。接收错误:反向参数'()'和关键字参数未找到

我的模板看起来是这样的:

<a href="{% url 'location_detail' pk=location.id %}">{{ location.name }}</a> 

我的urls.py的样子:

url(r'^location(?P<pk>\d+)/$', views.location_detail, name="location_detail"), 

我的看法是这样的:

def location_detail(request, pk=None): 

我得到的错误:

Reverse for views.location_detail with arguments '()' and keyword arguments '{u'pk': 1L}' not found. 

我使用Django 1.5和python 2.7.2

谢谢!

+0

删除pk =在模板调用 – karthikr

回答

10

的问题是,我对主要项目urls.py一个命名空间:

url(r'^com/', include('com.urls', namespace="com")), 

网址更改为:

{% url 'com:location_detail' pk=location.id %} 

该诀窍

+1

哇,我不知道与反向的命名空间问题,这篇文章绝对做到了。 – user798719

3

你给你的URL模式的名称,所以你应该在{% url %}调用中使用该名称:

{% url 'location_detail' pk=location.id %} 
+0

两种方式它有相同的错误。谢谢 – Atma

相关问题