2013-07-09 72 views
1

下面的代碼有什麼問題?我沒有得到任何錯誤,但是href是空白的(一定是失敗)。Django反向鏈接空白

HTML:

<a href="{{ item.content_object.get_delete_url }}"> 
    Remove 
</a> 

模型方法:

def get_delete_url(self): 
    return reverse('contacts.views.contact_delete', args=[str(self.id), str(self.group_id)]) 

網址:

url(r'^contact/delete/(?P<id>\d+)/(?P<group_id>\d+)/$', 'contact_delete', name='contact_delete'), 
+0

您是否嘗試在控制檯中打印出網址? –

+0

@limelights是的,它是空白的。該錯誤似乎是在get_delete_url方法中,如果我改變返回來說「某事」並打印,我就會看到它。所以它一定是一個沉默的失敗。 – GrantU

回答

1

get_delete_url方法正在引發一個異常。 NoReverseMatch異常具有silent_variable_failure=True,因此該方法在模板中使用時會自動失敗。有關模板中靜默失敗的更多信息,請參見Django variables and lookups文檔。

要修復您的get_delete_url方法,請嘗試使用您指定的網址格式名稱,而不是視圖的路徑。

reverse('contact_delete', args=[str(self.id), str(self.group_id)]) 
+0

你是明星!感謝您的信息和鏈接。 – GrantU