我目前正在阅读实用的Django项目,在Django管理界面中,输入信息时可以选择“查看站点”。
但是在完成了本书的第5章之后,我开始修补管理界面,发现用我的分类应用程序点击这个链接是不起作用的,因为它没有将日志附加到URL,所以它们看起来像这样:
http://127.0.0.1:8000/categories/test-cat
当他们像这样的时候…
http://127.0.0.1:8000/weblog/categories/test-cat
不过,在我的参赛作品模型中,它们表现得很好。因此,我尝试查看“在条目中”应用程序中的正确内容,以找出“类别”应用程序中的错误内容。
我找了大约2个小时了,我不知道姜戈是在哪里做的。我甚至从网上复制了源代码,尽管其中一些似乎丢失了。
我的get_absolute_url()如下:
def get_absolute_url(self):
return "/categories/%s/" % self.slug
我编辑:
def get_absolute_url(self):
return "/weblog/categories/%s/" % self.slug
它解决了这个问题。
我现在的问题是,为什么Entries应用程序不需要这个,而Categories应用程序需要这个?
我的代码来自类条目:
def get_absolute_url(self):
return ('coltrane_entry_detail', (), { 'year': self.pub_date.strftime("%Y"),
'month': self.pub_date.strftime("%b").lower(),
'day': self.pub_date.strftime("%d"),
'slug': self.slug })
get_absolute_url = models.permalink(get_absolute_url)