Может быть, я что-то пропустил, но согласно django docs (1.2), я настроил свои URLS, модели точно так же, как указано, чтобы гарантировать, что я не жестко-кодирующие URL-адреса, возвращаемые для get_absolute_url.Получение @permalink decrator для работы с django generic views?
Вот что у меня есть:
в 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
Тогда почему мой ответ неверен: P – iElectric