【问题标题】:Receiving error: Reverse for with arguments '()' and keyword arguments not found接收错误:使用参数“()”和未找到关键字参数反向
【发布时间】:2013-07-22 23:39:41
【问题描述】:

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

谢谢!

【问题讨论】:

  • 移除模板调用中的pk=

标签: python django django-templates django-urls


【解决方案1】:

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

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

将网址更改为:

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

成功了

【讨论】:

  • 哇,我不知道反向命名空间问题,这篇文章确实成功了。
【解决方案2】:

您已为您的 url 模式命名,因此您应该在 {% url %} 调用中使用该名称:

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

【讨论】:

    猜你喜欢
    • 2014-11-25
    • 2013-12-22
    • 2016-11-11
    • 2013-08-21
    • 2010-12-22
    • 2013-12-07
    • 1970-01-01
    • 2015-08-29
    相关资源
    最近更新 更多