报错RuntimeError: Working outside of request context的解决办法

发布时间 2023-08-11 21:41:39作者: ranbo145

在程序编写过程中,我写了一个装饰器

def auth(func):
    def inner(*args,**kwargs):
        if session.get('username'):
            res = func(*args,**kwargs) # 真正的执行视图函数,在执行视图函数之前判断是否登录
            return res
        else:
            # 重定向到login页面
            return redirect('/login')
    return inner()

然后把装饰器写入到函数中

就出现了以下报错

经过排查

发现是装饰器返回的inner函数带了括号所导致的

去掉括号后,程序就能正常运行了