关于flask登录视图报错AttributeError: ‘_AppCtxGlobals’ object has no attribute ‘user’详解大数据

在一个小程序中写了一个登录视图函数,代码如下:

@app.route('/login',methods = ['GET','POST']) 
@oid.loginhandler 
def login(): 
    if g.user is not None and g.user.is_authenticated: 
        return redirect(url_for('index')) 
    form = LoginForm() 
    if form.validate_on_submit(): 
        session['remember_me'] = form.remember_me.data 
        return oid.try_login(form.openid.data,ask_for=['nickname','email']) 
    return  render_template('login.html', 
                            title = 'Sign In', 
                            form = form, 
                            providers = app.config['OPENID_PROVIDERS'])

但是在登录测试的时候报错,报错信息:AttributeError: ‘_AppCtxGlobals’ object has no attribute ‘user’

经过反复检查,发现是在运行登录视图函数的时候没有确定g的位置,需要添加一个装饰函数

@app.before_request 
def before_request(): 
    g.user = current_user

记得在你的模块开头导入  current_user

希望帮助到那些被同样问题困扰的人。。。

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/9263.html

(0)
上一篇 2021年7月19日 09:19
下一篇 2021年7月19日 09:19

相关推荐

发表回复

登录后才能评论