NoReverseMatch django错误多个URL相同的方法

时间:2012-08-30 23:26:54

标签: python django django-templates

错误消息:

ExceptionType: NoReverseMatch
Exception Value: Reverse for 'darts.teams.views.expanded_details' with arguments '(u'RightFlights',)' and keyword arguments '{}' not found.

在模板中:

<a href="{{ lib.url(expanded_details, team.name) }}" class="btn btn-cog">Expanded Details</a>
在urls.py中

urlpatterns = patterns('darts.teams.views',
    url(r'^(?P<teamname>.*?)/expanded_details/$', 'team_details', {'expanded': True}, "expanded_details"),
    url(r'^(?P<teamname>.*?)/details/$', 'team_details', name="team_details"),

    url(r'^(?P<teamname>.*?)/add_player/$', 'team_add_player', name="team_add_player"),
    url(r'^(?P<teamname>.*?)/add_player/confirm/$', 'team_add_player',"team_add_player_confirm"),
)

urls.py中的其他网址都可以正常呈现,但'expanded_details'会抛出错误。

为什么这个与其他人不同?我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

更新

错误显示“'darts.teams.views.expanded_details'的反向失败”,但应为'darts.teams.views.team_details''expanded_details'。第一种形式是查看路径,后者是命名URL的名称 您可以检查模板标签中expanded_details的值,以确保它被解析为上面的正确值之一,或者遵循slackjake的建议:直接使用'expanded_details'(注意单引号)。


(?P<teamname>.*?无效,也许您的意思是(?P<teamname>.*?)? 另外,lib.url做了什么?