Django Slug在get_absolute_url中不起作用

时间:2013-07-31 16:15:33

标签: django django-urls

这段代码有什么问题?

我怀疑它是slug,因为这是我第一次尝试在Django中使用它:

由于

型号:

get_absolute_url

URL:

class Entry(models.Model):
    title = models.CharField(max_length=200)
    slug = models.SlugField(max_length=255, unique=True)

    def get_absolute_url(self):
       return reverse("EntryDetail", kwargs={"slug": self.slug})

查看:

 url(r'^entry/(?P<slug>[^\.]+).html',
                           blog_views.EntryDetail.as_view(),
                           name='blog_entry'),

1 个答案:

答案 0 :(得分:3)

基于@Peter DeGlopper在评论中所说的内容:看起来您尝试使用基于类的视图来获取绝对URL。请勿在此处使用反向,而应始终为您的网址指定名称,然后参考该网址。

例如,它应该是这样的:

<强>模型

@models.permalink
def get_absolute_url(self):
   return 'blog_entry', (), {'slug': self.slug}

<强>网址

url(r'^entry/(?P<slug>[^\.]+).html',
     blog_views.EntryDetail.as_view(),
       name='blog_entry'),