我现在很困惑,如果有人能澄清这一点,我会非常感谢你的帮助。 所以我有像这样的models.py
class Post(models.Model):
def get_absolute_url(self):
return reverse("post", args={"slug": self.slug})
和
url(r'^post/(?P<slug>[\w|\-]+)/$', views.post, name='post'),
所以get_absolute_url需要指向domain / post / slug.name但是它没有这样做....有谁知道我怎么能解决这个问题?
答案 0 :(得分:1)
正如ddsnowboard所评论的那样:
它是:
reverse("post", kwargs={"slug": self.slug})
或
reverse("post", args=[self.slug])
kwargs
需要一个字典,args
需要一个数组:
在django / core / urlresolvers.py中开始方法定义:
def reverse(viewname, urlconf=None, args=None, kwargs=None, prefix=None, current_app=None):
if urlconf is None:
urlconf = get_urlconf()
resolver = get_resolver(urlconf)
args = args or []
kwargs = kwargs or {}