2013-04-17 49 views
1

我想使用一个命名的正则表达式组将关键字参数传递给视图。Django NoReverseMatch在URL上的错误

我很新使用正则表达式(和Django)并不断收到NoReverseMatch错误。

在我的模板有如下表:

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

的URL对应于 “{%URL轮廓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') 

我不知道为什么我收到此错误?我很欣赏任何反馈和专业知识。

回答

3

既然要指定比赛进行到一个变量(它的关键字),您需要通过它,就像这样:

{% url profile players_username=player.user %} 

另一个小修正,正则表达式应该是\w++的意思是“一个或多个,但至少有一个”,否则你的正则表达式不会像你期望的那样工作(除非你所有的玩家都有一个字符用户名)。

+0

太棒了!我无法感谢您的反馈。它效果很好。 – bbrooke