码迷,mamicode.com
首页 > 其他好文 > 详细

Django装饰器--@permalink

时间:2017-06-26 10:26:05      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:code   war   rgs   wrap   import   映射   解析   eve   self   

- 用法:拼接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

标签:code   war   rgs   wrap   import   映射   解析   eve   self   

原文地址:http://www.cnblogs.com/wj5633/p/7078678.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!