我正尝试在我的User类中为API键添加另一个列。但是,在使用Flask-Security时,我的kwargs出现错误。
class User(db.Model, UserMixin):
__tablename__ = 'usermod'
id = db.Column(db.Integer(), primary_key=True)
email = db.Column(db.String(120), unique=True)
password = db.Column(db.String(255))
active = db.Column(db.Boolean())
confirmed_at = db.Column(db.DateTime())
api_key = db.Column(db.String(256))
roles = db.relationship('Role', secondary=roles_users, backref=db.backref(
'users', lazy='dynamic'))此外,我尝试在注册后使用自己的generate_key()函数来填充每个用户的api_key字段。这是因为我使用的是Flask-Security的内置app.config['SECURITY_REGISTERABLE'] = True字段。我真的不确定如何覆盖Flask-Security的设置来做到这一点。
发布于 2013-06-07 22:45:35
好的,我通过简单地保留上面的User类解决了这个问题。但是为了添加我自己的函数,我必须像这样使用信号:
@signals.user_confirmed.connect_via(app)
def user_confirmed_sighandler(app, user):
user.api_key = generate_key()
return这发生在用户通过电子邮件确认其注册之后,而不是在注册时(在这种情况下,您将使用@signals.user_registered.connect_via(app)。
https://stackoverflow.com/questions/16964615
复制相似问题