带有参数的装饰器

def outter(*out_args,**out_kwargs):
    def deco(func):
        def inner(*args, **kwargs):
            print('111')
            res = func(*args, **kwargs)
            print('222')
            return res
        return inner
    return deco


@outter(a=3)
def coding(times):
    print('coding {}'.format(times))


coding(5)



首先弄明确上面的大致的功能

然后写一个模拟的功能

》某些页面是需要在登陆后可见的

用户访问购物车页,需要登陆

访问个人中心,需要登陆

访问密码修改页面,也需要登陆

因此这些视图函数都需要一个验证是否登陆的功能

阶段一,写一个装饰器,完成这个功能

阶段二,现在我有两种情况,情况一是从mysql中查数据,情况二要从文件中查数据,仍然使用装饰器完成这个需求