如何在flask-login中跟踪当前用户? [英] How to track the current user in flask-login?

查看:1555
本文介绍了如何在flask-login中跟踪当前用户?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试从flask-login中使用我的视图中的当前用户。所以我试图 g object



我分配 flask.ext.login.current_user to g object

  @ pot.before_request 
def load_users():
g.user = current_user.username

如果用户正确,但是,当我做注册或以错误的凭据登录
我得到这个错误

AttributeError :'AnonymousUserMixin'对象没有属性'username'



请让我知道我在哪里错了...

解决方案

感谢你的回答@Joe和@pjnola,正如你所有的建议我提到 flask-login docs



我发现我们可以自定义匿名用户类,所以我为我定制要求,

匿名类

 #!/ usr / bin / python 
#flask-login匿名用户类$ b $ from flask.ext.login import AnonymousUserMixin
class匿名(AnonymousUserMixin):
def __init __(self):
self.username ='Guest'

类到 anonymous_user



login_ma nager.anonymous_user =匿名



如果是匿名请求,则可以获取用户名。


I m trying to use the current user in my view from flask-login. So i tried to g object

I m assigning flask.ext.login.current_user to g object

@pot.before_request
 def load_users():
   g.user = current_user.username

It works if the user is correct. But when i do sign-up or login as with wrong credentials I get this error

AttributeError: 'AnonymousUserMixin' object has no attribute 'username'

Please enlight me where am i wrong...

解决方案

Thanks for your answer @Joe and @pjnola, as you all suggested i referred flask-login docs

I found that we can customize the anonymous user class, so i customized for my requirement,

Anonymous class

#!/usr/bin/python
#flask-login anonymous user class
from flask.ext.login import AnonymousUserMixin
class Anonymous(AnonymousUserMixin):
  def __init__(self):
    self.username = 'Guest'

Then added this class to anonymous_user

login_manager.anonymous_user = Anonymous

From this it was able to fetch the username if it was anonymous request.

这篇关于如何在flask-login中跟踪当前用户?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆