接收错误:使用参数'()'和未找到的关键字参数反转

时间:2013-07-23 18:21:27

标签: python django django-templates django-urls

我在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

谢谢!

2 个答案:

答案 0 :(得分:10)

问题是我在主项目urls.py上有一个名称空间:

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

将网址更改为:

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

这就是诀窍

答案 1 :(得分:3)

您已为您的网址格式指定了名称,因此您应在{% url %}电话中使用该名称:

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