使用wraps装饰器装饰装饰器的内层函数
2018-04-10 本文已影响0人
梦Delete
使用装饰器装饰函数,程序运行后出现 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