使用wraps装饰器装饰装饰器的内层函数

使用装饰器装饰函数,程序运行后出现 AssertionError: View function mapping is overwriting an existing endpoint function: api_1_0.wrapper

说明: 装饰器装饰函数后,会修改该函数的__name__属性,如需保存原始的名字和说明文档,需使用wraps装饰器装饰内层函数

from functoolsimport wraps

def login_required(view_func):

"""校验用户是否是登入用户"""

    @wraps(view_func)

    def wrapper(*args,**kwargs):

            session_id= session.get('session_id')

            if not session_id:

                    return jsonify(errno=RET.SESSIONERR,errmsg='用户未登入')

            else:

                    return view_func(*args,**kwargs)

    return wrapper

你可能感兴趣的:(使用wraps装饰器装饰装饰器的内层函数)