我正在尝试在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的设置来执行此操作。
答案 0 :(得分:0)
好的,我通过简单地保持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)
。