Python slug和get绝对url之间的关系,我做错了什么?

Python slug和get绝对url之间的关系,我做错了什么?,python,django,Python,Django,我现在很困惑,如果有人能澄清这一点,我将非常感谢你的帮助。 我有这样的模特 class Post(models.Model): def get_absolute_url(self): return reverse("post", args={"slug": self.slug}) 及 url(r'^post/(?P[\w\-]+)/$”,views.post,name='post'), 所以get_absolute_url需要指向domain/post/slug.n

我现在很困惑,如果有人能澄清这一点,我将非常感谢你的帮助。 我有这样的模特

class Post(models.Model):

    def get_absolute_url(self):
        return reverse("post", args={"slug": self.slug})

url(r'^post/(?P[\w\-]+)/$”,views.post,name='post'),

所以get_absolute_url需要指向domain/post/slug.name,但它没有这样做……有人知道我如何解决这个问题吗?

正如ddsnowboard评论的那样:

它是:

reverse("post", kwargs={"slug": self.slug})

kwargs
需要一个字典,
args
需要一个数组:

django/core/urlResolver.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 {}

我认为您需要使用
kwargs
。像这样:
reverse(“post”,kwargs={“slug”:self.slug})
错误消息是什么?
reverse("post", args=[self.slug])
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 {}