【发布时间】:2010-10-10 00:09:14
【问题描述】:
也许我遗漏了一些东西,但根据 django 文档 (1.2),我已经完全按照指定设置了我的 URLS 模型,以确保我没有硬编码为 get_absolute_url 返回的 url。
这是我所拥有的:
在 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)})
该方法在模板中返回一个空字符串,并且从 shell 中返回一个错误。
NoReverseMatch: Reverse for 'product_detail' with arguments '()' and keyword arguments '{'slug': 'dd-d--'}' not found.
这应该可以解决,因为 urls.py 有一个名称:product_detail?
【问题讨论】:
标签: django django-models django-urls