python - 反转 '',参数 '' 和关键字参数 '{}' 未找到

标签 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”的反向。出现了吗?

最佳答案

您需要在 URL 中指定所有值:

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

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

关于python - 反转 '',参数 '' 和关键字参数 '{}' 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20146208/

相关文章:

python - 如何删除 docker 镜像的多个标签(除了一个标签)

python - Django:我的函数返回一个对象而不是返回值

django - DjangoModelFactory 中的日期时间字段破坏了集成测试 (2.1)

python - 模板中的模板。如何避免渲染两次?

python - 迭代模板中的模型实例字段名称和值

python - python中的 "arguments"是什么

python - Selenium 将数据抓取到 pandas 数据框

python - 有人可以解释 python 生成器表达式中空字典的行为吗?

python - Django pre_delete 信号被忽略

python - Django 从模板中带有 for 键值的字典中获取特定值