這段代碼有什麼問題? get_absolute_url
在我的模板中呈現時是空白的,這意味着它在某處失敗。Django Slug不能在get_absolute_url中工作
我懷疑這是蛞蝓,因爲這是我第一次嘗試中的Django使用它:
感謝
型號:
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'),
查看:
class EntryDetail(DetailView):
context_object_name = 'entry'
template_name = "blog.entry.html"
slug_field = 'slug'
def get_object(self):
return get_object_or_404(Entry, url=self.slug_field)
你也可以上傳你的模板?我也認爲你應該在反向函數中使用url名稱而不是視圖名稱(但我可能會在這裏弄錯)。 – Private
是的,'reverse'正在尋找一個視圖函數,而不是一個類。使用'reverse('blog_entry',kwargs = {「slug」:self.slug})'它應該可以工作。 –