2013-07-09 54 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