装饰器:
装饰器是 Python 的一个重要部分。
简单地说:他们是修改其他函数的功能的函数, 在不改变原有函数功能基础的上加装功能。
装饰器蓝本:
from functools import wraps
def decorator_name(f):
@wraps(f)
def decorated(*args, **kwargs):
if not can_run:
return "函数不会执行"
return f(*args, **kwargs)
return decorated
@decorator_name
def func():
return("函数执行了")
can_run = True
print(func())
# Output: 函数执行了
can_run = False
print(func())
# Output: 函数不会执行
@wraps
接受一个函数来进行装饰,并加入了复制函数名称、注释文档、参数列表等等的功能。这可以让我们在装饰器里面访问在装饰之前的函数的属性
装饰器实现登录状态验证:
from flask import session, current_app, abort, g
from info.models import User
from functools import wraps
def check_