models.py,urls.py,views.pyget_absolute_url()與多個ARGS
我試圖設置get_absolute_url()
功能爲Entry
類,但失敗了。我已經成功地爲Category
類創建了這樣一個函數,只有一個參數,但是我堅持使用多個參數,如Entry
類。
目前,點擊
<a href="/blog/{{ entry.get_absolute_url }}/">{{ entry.title }}</a>`
聯繫,因爲我的索引頁上顯示,只返回下面的網址:
http://127.0.0.1:8000/blog//
我原本是用來回報沒有扭轉這樣的:
def get_absolute_url(self):
return "/%s/%s/%s/" % (self.pub_date.year, self.pub_date.month, self.slug)
但是,雖然它的工作從index.html與前面提到的href
,來回其他頁面(即category.html
)這返回了一個URL附加在當前URL上,包括Category
類。切換到反向解決了這個問題Category
,但我無法讓它爲Entry
工作,因爲有多個參數。
請根據需要請求任何其他數據。
編輯:嗯,我已經成功地使其與(原碼)工作:通過category.html改變href
到
def get_absolute_url(self):
return "%s/%s/%s/%s" % (self.pub_date.year, self.pub_date.month, self.pub_date.day, self.slug)
:
<a href="http://127.0.0.1:8000/blog/{{ entry.get_absolute_url }}">{{ entry.title }}</a>
即我加了根http://127.0.0.1:8000
,但我仍然無法使它與reverse()
一起工作...我試過args
,kwargs
,其他一些東西......我並不確定reverse()
的作用與普通的return
不同。它做了一些不同的事情,和以前一樣,當我沒有根目錄使用時,從return
切換到return reverse()
使它工作;儘管我現在已經設法通過將的根添加到return
來工作,就像我使用Entry
一樣。
確定嗎?這似乎不適合我。 – 2013-04-28 13:37:05
什麼不起作用?你有沒有改變你的get_absolut_url來使用kwargs的敬畏? – 2013-04-28 14:06:41
是的,我完全按照你寫的那樣做了。 – 2013-04-28 19:47:33