flask-login logout AnonymousUserMixin错误

时间:2015-08-10 08:18:35

标签: python flask-login

我根据flask-login的UserMixin类定义MembershipUsers类。

class MembershipUsers(UserMixin):
    applicationid = None
    userid = None
    password = None

    def get_id(self):
        return unicode(self.userid)

以下登录过程:

def login_membership(userid, password):

    login_result, membership_users = _service.login(userid, password)

    if login_result == LOGIN_RESULT.OK:
        logged_in = login_user(membership_users)

_service.login是一种登录和创建MembershipUsers实例的方法。如果login_result正常,请调用flask-login的登录名_user()。

并在下面注销:

def logout_membership():
    logout_user()

登录即可。但logout_user给出了错误:

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

为什么要提出这个错误?为什么选择AnonymousUserMixin?

1 个答案:

答案 0 :(得分:0)

发生此错误是因为当前用户未登录。 正如@IcarianComplex指出的那样,track4.wav的注销方法没有logout_membership()装饰器。如果要在内部进行检查,请使用

@login_required