2010-06-20 44 views
1

我正在閱讀實用的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) 

回答