Flask Web开发当中的current_user

current_userFlask-login定义.且在视图函数和模板中自动可用.这个变量的值是当前登录的用户。如果用户尚未登录,则是一个匿名用户用户代理对象。如果是匿名用户,is_authenticated()方法返回False.所以这个方法可用来判断当前用户是否已经登录。

Note:如果要对匿名用户有自定义的需求,可以提供一个可调用的类或者工厂函数,基于login_manager来创建匿名用户:

login_manager.anonymous_user = MyAnonymousUser

《Flask Web开发》书本中的例子为:

class AnonymousUser(AnonymousUserMixin):
    def can(self,permissions):
        return False
    def is_administrator(self):
        return False

login_manager.anonymous_user = AnonymousUser

这个对象继承自Flask-Login中的AnonymousUserMixin类,并将其设为用户未登录时current_user的值.这样程序就不用先检查用户是否登录,就能自由调用current_user.can()current_user.is_administrator()
我们通过login_manager.anonymous_user属性告诉Flask-Login使用应用自定义的匿名用户类。

更多信息:
flask_login的使用
flask_login

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。