也許我錯過了一些東西,但根據django文檔(1.2),我已經設置了我的URLS,模型完全按照指定的方式來確保我不是硬編碼的url返回的get_absolute_url。獲得@permalink decrator與django通用視圖一起工作?
下面是我有:
在urls.py
urlpatterns = patterns('django.views.generic.list_detail',
url(r'^$','object_list',
{ 'queryset': product.objects.all(),
'template_name': 'products/list.html',
},
name='product_list'),
url(r'^(?P<slug>[-\w]+)/$','object_detail',
{ 'queryset': product.objects.all(),
'template_name': 'products/detail.html',
},
name='product_detail'),
)
在models.py
@models.permalink
def get_absolute_url(self):
return ('product_detail',(), {'slug': str(self.slug)})
該方法返回模板中的一個空字符串,並從殼它給出錯誤。
NoReverseMatch: Reverse for 'product_detail' with arguments '()' and keyword arguments '{'slug': 'dd-d--'}' not found.
這應該解決它應該不是,因爲urls.py有一個名字:product_detail
是的,昨晚想通了。沒有在根URL中正確包含它。 – ismail 2010-10-11 21:12:08
那麼爲什麼我的答案不正確:P – iElectric 2010-10-11 23:03:20