django 不匹配模板中调用的模式

django does not match pattern called in template

我正在尝试在模板中调用 {% url %} 以获得动态链接,但我收到错误消息,尽管模式应该匹配。这是我的文件:

urls.py

urlpatterns = [
    url(r'^(?P<team_id>[0-9]+)/$', views.detail, name='detail'),
    url(r'^$', views.index, name='index'),
]

模板文件

{% for team in teams_list %}
            <li><a href="{% url 'detail' team.id %}/">{{ team.name }}</a></li>
        {% endfor %}

views.py

def detail(request, team_id):
    team = get_object_or_404(Team, id=team_id)
    context = {
        'teamname' : team.name,
        'member_list' : User.objects.filter(team__name=team.name)
    }
    return render(request, 'teams/detail.html', context)

我试过模拟 django 教程,但我似乎找不到我的错误。错误陈述如下:

Reverse for 'detail' with arguments '(1,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []

线索在错误消息中,特别是和找不到关键字参数“{}”。

您的模式有关键字匹配,结果将映射到关键字 team_id,但是您传递的是 位置参数 of 1(即为什么你的团队 ID 显示在元组中 (1,)).

要解决此问题,请将您的 url 标签更改为 {% url 'detail' team_id=team.id %}

您可以在 url tag documentation 阅读更多相关信息。