网址配置:
url(r'^body/(?P<id>\d+)/$', 'body_part_detail', name='body-part-detail'), url(r'^body/(?P<id>\d+)/(?P<slug>[-\w\d]+)/$', 'body_part_detail', name='body-part-detail'),
get_absolute_url()
执行:def get_absolute_url(self): kwargs = { 'id' : self.id, 'slug' : slugify(self.name) } return reverse('body-part-detail', kwargs=kwargs)
现在,我有两个url
s where name=body-part-detail
(可能是错的?)。然而,reverse
在它使用第二个url
并使用 slug 组件返回所需 URL 的意义上,它是成功的。为什么这行得通?在这种情况下我只是“幸运”(引用因为程序不应该幸运!)?
最后,在 SO 和 Web 上有几个地方,人们给出了 URLConfs 的示例,其中url
s 共享name
关键字 arg。例如,Visgean Skeloru 在这里的回答:Optional get parameters in django? . 这是错误的/不好的吗?