1

我正在尝试使用命名的正则表达式组将关键字参数传递给视图。

我对使用正则表达式(和 Django)非常陌生,并且不断收到 NoReverseMatch 错误。

在我的模板中有一个包含以下内容的表格:

<td><a href="{% url profile player.user %}" data-toggle="modal" data-target="#profile"><i class="icon-forward"></i></a></td>

“{% url profile player.user %}”对应的URL是:

url(r'^profile/(?P<players_username>\w)/$', profile_page, name='profile'),

另外我不确定“\w”对于这个正则表达式是否正确。理想情况下,它可以接收任何字符。

我的观点“profile_page”是:

@login_required
def profile_page(request,players_username):
    return render(request, 'portal/portal_partial_profile.html')

我不确定为什么会收到此错误?我感谢任何反馈和专业知识。

4

1 回答 1

3

由于您将匹配项分配给一个变量(它是一个关键字),因此您需要将其传入,如下所示:

{% url profile players_username=player.user %}

另一个小修正,你的正则表达式应该是\w+. 意思是“+一个或多个,但至少一个”,否则您的正则表达式将无法按预期工作(除非您的所有玩家都有一个角色用户名)。

于 2013-04-17T04:33:07.303 回答