我正在尝试使用命名的正则表达式组将关键字参数传递给视图。
我很擅长使用正则表达式(和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(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')
我不知道为什么我收到这个错误?我感谢任何反馈和专业知识。
答案 0 :(得分:3)
由于您要将匹配项分配给变量(它是一个关键字),您需要将其传入,如下所示:
{% url profile players_username=player.user %}
另一个小修正,你的正则表达应该是\w+
。 +
表示“一个或多个,但至少有一个”,否则您的正则表达式将无法正常工作(除非您的所有玩家都有一个字符用户名)。