反向''有论据''和关键字参数' {}'未找到

时间:2013-11-22 13:35:04

标签: python django django-templates django-views django-urls

我有网址:

url(r'^tournament/(?P<tournament_id>\d+)/tour/$', chess.views.first_tour, name = 'first_tour'),    
url(r'^tournament/(?P<tournament_id>\d+)/tour/match/(?P<pk>\d+)/$', chess.views.edit_match, name = 'edit_match'),

查看:

def first_tour(request, tournament_id):
    ...
    matches = []
    for item in items:
       match = Match.objects.get(...)
       matches.append(match)
    return render(request, 'first_tour.html', {'matches':matches})

def edit_match(request, tournament_id, match_id ):
    pass

我有一个匹配循环和每个循环的模板:

<a href="{% url 'edit_match' match.pk %}">Enter results</a>

为什么会出现错误:使用参数'(5L,)'和关键字参数'{}'找不到'edit_match'。出现?

1 个答案:

答案 0 :(得分:4)

您需要在网址中指定所有值:

{% url 'edit_match' tournament_id=... pk=match.pk %}

您目前只为pk指定一个值,这意味着Django无法找到匹配的edit_match网址(即,有一个未命名的参数)。您的edit_match有两个命名参数。