我正在尝试get_absolute_url()
为该Entry
课程设置一个功能,但失败了。我已经成功地为Category
该类创建了这样一个函数,只有一个 arg,但我坚持在Entry
课堂上使用多个 args。
当前,单击
<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 附加在当前 URL 上,包括Category
类。切换到反向解决了这个问题,但由于多个参数Category
,我无法让它工作。Entry
请根据需要索取任何额外的数据。
编辑:好吧,我已经设法使它与(原始代码)一起工作:
def get_absolute_url(self):
return "%s/%s/%s/%s" % (self.pub_date.year, self.pub_date.month, self.pub_date.day, self.slug)
通过将href
at category.html 更改为:
<a href="http://127.0.0.1:8000/blog/{{ entry.get_absolute_url }}">{{ entry.title }}</a>
即我添加了 root http://127.0.0.1:8000
,但我仍然无法使用它reverse()
......我已经尝试过args
, kwargs
, 其他一些东西......我实际上仍然不确定reverse()
与常规的不同之处return
。它做了一些不同的事情,就像我以前使用"blog/{{ category.get_absolute_url }}"
没有根的情况一样,从切换return
到return reverse()
使其工作;return
尽管我现在已经设法让它href
与Entry
.