最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

[已解决]Flask-Login出错:NameError global name current_user is not defined

Flask crifan 4766浏览 0评论

折腾:

[已解决]Flask-Login运行出错:AttributeError _AppCtxGlobals object has no attribute user

参考:

python – AttributeError: ‘_AppCtxGlobals’ object has no attribute ‘user’ in Flask – Stack Overflow

http://stackoverflow.com/questions/21138025/attributeerror-appctxglobals-object-has-no-attribute-user-in-flask

去把代码改为:

@app.before_request
def before_request():
    “””
    这里是全局的方法,在请求开始之前调用。
    其中 flask 有个全局的变量 g,它是和 session 一样的用途,可以使用它来保存当前用户的数据
    Returns:
    “””
    gLog.debug(“g=%s”, g)
    g.user = current_user
    pass

结果又报错:

  File “/root/html/SIPEvents/sipevents/views.py”, line 370, in before_request
    g.user = current_user
NameError: global name ‘current_user’ is not defined

搜:

Flask-Login NameError: global name ‘current_user’ is not defined

python – UndefinedError: ‘current_user’ is undefined – Stack Overflow

加上:

from flask_login import current_user

试试,然后就可以了。

[总结]

此处before_request中的

g.user = current_user

出错:

NameError: global name ‘current_user’ is not defined

的原因是:

没有找到current_user

解决办法是:

current_user是Flask-Login中的全局变量

此处去导入:

from flask_login import current_user

即可。

注:

目前最新的Flask-Login相关的导入有:

from flask_login import login_user, logout_user
from flask_login import current_user

转载请注明:在路上 » [已解决]Flask-Login出错:NameError global name current_user is not defined

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
89 queries in 0.161 seconds, using 22.03MB memory