Python flask.ext.login 模块,UserMixin() 实例源码

我们从Python开源项目中,提取了以下5个代码示例,用于说明如何使用flask.ext.login.UserMixin()

项目:Plog    作者:thundernet8    | 项目源码 | 文件源码
def get_id(self):
        """
        ??UserMixin?????,???????????? id
        :return:
        """
        try:
            return int(self.user_id)
        except AttributeError:
            raise NotImplementedError('No `user_id` attribute')
项目:Plog    作者:thundernet8    | 项目源码 | 文件源码
def get_id(self):
        """
        ??UserMixin?????,???????????? id
        :return:
        """
        return 0
项目:Flask-NvRay-Blog    作者:rui7157    | 项目源码 | 文件源码
def get_id(self):
        """
        ????UserMixin??get_id
        """
        return unicode(self.uid)
项目:suite    作者:Staffjoy    | 项目源码 | 文件源码
def __eq__(self, other):
        """Checks equality of user objects. Necessary to override UserMixin one."""
        return self.id == other.id
项目:flask-breathalyzer    作者:mindflayer    | 项目源码 | 文件源码
def test_succesful_event(app, test_client, path_info, secret_key, user_id):
    @app.route(path_info, methods=['GET', 'POST'])
    def boom():
        1 / 0

    # from http://docs.datadoghq.com/api/
    options = {
        'api_key': '0c82710457ebeaeab1c901c0152852fa',
        'app_key': 'b8e5af1010d49ac73cadde2a5be5ef01b6ae73c6'
    }

    header = 'Accept'
    html = 'text/html'
    headers = {header: html}
    to_ban = ('to ban', 'Guido Van Rossum')
    to_find = ('to find', 'Raymond Hettinger')
    data = dict((to_ban, to_find))
    h_blacklist = ['/{0}'.format(header)]
    d_blacklist = ['/{0}'.format(to_ban[0])]

    app.secret_key = secret_key
    login_manager = flask_login.LoginManager()

    @login_manager.user_loader
    def user_loader(username):
        class User(flask_login.UserMixin):
            def get_id(self):
                return user_id
        return User()

    login_manager.init_app(app)

    ba = Breathalyzer(app, headers_blacklist=h_blacklist, data_blacklist=d_blacklist, **options)
    assert ba.last_event_id is None

    with test_client() as c:
        with c.session_transaction() as sess:
            sess['user_id'] = user_id
            sess['_fresh'] = True
        response = c.post(path_info, data=json.dumps(data), content_type='application/json', headers=headers)

    assert response.status == '500 INTERNAL SERVER ERROR'
    assert b'<title>500 Internal Server Error</title>' in response.data
    assert response.mimetype == 'text/html'
    assert 'ZeroDivisionError' in ba.last_event['event']['text']
    assert ba.last_event_id == ba.last_event['event']['id']
    assert to_ban[1] not in ba.last_event['event']['text']
    assert to_find[1] in ba.last_event['event']['text']
    assert user_id in ba.last_event['event']['text']