首页 > 代码库 > Django装饰器--@permalink

Django装饰器--@permalink

- 用法:拼接url

@permalink
def get_absolur_url(self):
    return "cms-story", {}, {slug: self.slug}

 


函数返回三个参数:第一个参数是url映射name,第二个一般为空,第三个参数是一个dict

- 源码

def permalink(func):

    from django.urls import reverse

    @wraps(func)
    def inner(*args, **kwargs):
        bits = func(*args, **kwargs)
        return reverse(bits[0], None, *bits[1:3])
    return inner

 


通过reverse解析包装一层

Django装饰器--@permalink