Django装饰器--@permalink

Posted 兔头咖啡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

Django:在其他装饰器中重用 login_required 装饰器

装饰器 以及 django 中的应用

装饰 login_required Django 装饰器

Django自定义装饰器

Django装饰器验证登录

Django 自定义装饰器 - 函数没有属性 get