我正在閱讀實用的Django項目,並在Django管理界面中輸入信息時有一個「在站點上查看」的選項。Django管理界面上的斷開鏈接
但是在完成本書的第5章之後,我開始修改管理界面,發現點擊此鏈接與我的類別應用程序不起作用,因爲它不會將網絡日誌添加到URL中,所以它們看起來像這樣:
http://127.0.0.1:8000/categories/test-cat
時,他們應該是這樣的......
http://127.0.0.1:8000/weblog/categories/test-cat
但是在我的項目模型,他們很好地工作。所以我試圖在Entries應用程序中查看什麼是正確的,以找出Categories應用程序中的錯誤。
我一直在尋找大約2個小時,我無法確定Django在做什麼。我甚至從網上覆制了源代碼,儘管它的一些似乎不見了。
我get_absolute_url()如下:
def get_absolute_url(self):
return "/categories/%s/" % self.slug
我編輯爲:
def get_absolute_url(self):
return "/weblog/categories/%s/" % self.slug
,並解決問題。
我現在的問題是,爲什麼條目應用程序不需要這個,但類別應用程序呢?
我從類條目代碼:
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)