我目前正在使用 flask-jwt 库https://github.com/mattupstate/flask-jwt和 flask-sqlalchemy。当我在标头中传递我的身份验证令牌时,我收到一条错误消息User object is not callable
。我已按照此处给出的示例https://pythonhosted.org/Flask-JWT/切换模型以换取 sqlalchemy 模型。示例代码返回 User 对象,但是当我切换到 sqlalchemy 时它会抱怨。
这是我的模型:
db = SQLAlchemy(app)
#we should prepare the data that we need from here
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
Username = db.Column(db.String(80))
Password = db.Column(db.String(64))
Hosts = db.relationship('Host', backref='user', lazy='dynamic')
def __init__(self, username, password):
self.Username = username
self.Password = password
def __str__(self):
return "User(id='%s')" % self.id
它在这里失败了:
def identity(payload):
print str(payload)
print str(User.query.get(payload['identity']))
return User.query.get(payload['identity'])
我可以看到正在打印的有效负载和用户,这是输出:
{u'iat': 1464650823, u'exp': 1464651123, u'nbf': 1464650823, u'identity': 1}
User(id='1')