装饰器中的@functools.wraps的作用

def login_required(view_func):
    @functools.wraps(view_func)
    def wrapper(*args, **kwargs):
        ......
         return view_func(*args,**kwargs)     
    return wrapper
在wrapper上面使用这个装饰器可以让view_func.__name__或者view_func.__doc__访问的还是原先那个函数的对象属性。而不是装饰以后wrapper的对象属性

posted on 2019-04-12 23:10  biwentao  阅读(164)  评论(0编辑  收藏  举报

导航