2012-08-30 29 views
0

錯誤消息:NoReverseMatch django的錯誤多個URL相同的方法

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'之一是拋出錯誤。

爲什麼這個與其他人不同?我錯過了一些公然的東西嗎?

+0

對我來說,它看起來像它正在尋找expanded_details視圖,而不是指定的網址。什麼是你使用的lib.url()?我總是使用{%url',無論'arg1 arg2%}。 – slackjake

+0

expanded_details只是team_details中的一個標記。 lib.url是:def url(view_name,* args,** kwargs):from django.core.urlresolvers導入反向,NoReverseMatch返回反向(view_name,args = args,kwargs = kwargs) – Brian

+0

try {{lib.url ('expanded_details',team.name)}} – slackjake

回答

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做什麼?

+0

是的,關閉paren錯字。我沒有複製和粘貼該部分。對於那個很抱歉。 def url(view_name,* args,** kwargs): from django.core.urlresolvers import reverse,NoReverseMatch return reverse(view_name,args = args,kwargs = kwargs) – Brian