Flask-security - 如何在user_registered信号中获取表单数据?

时间:2014-08-20 14:44:52

标签: python flask flask-security

我开始here,现在我有了这段代码:

@user_registered.connect_via(app)
def user_registered_sighandler(sender, **extra):
    sender.logger.debug("logger-user_registered_sighandler:", extra)
    user  = extra.get('user')
    print dir(sender)
    role = user_datastore.find_or_create_role('farmer')
    user_datastore.add_role_to_user(user,role)
    db.session.commit()
    print "print-user_registered_sighandler:", extra

现在我有兴趣从注册表中获取数据。我需要这样做,因为在表单内部是另一个数据库模型的一些有用字段。如何在此上下文处理器中访问表单数据?也许我应该更改register_user方法并添加一些额外的kwargs?

1 个答案:

答案 0 :(得分:-1)

您可以利用flask.g对象。把你想要的任何东西放在它上面并在信号处理程序中使用它。

来自烧瓶documentation

flask.g

Just store on this whatever you want. For example a database connection or the user that is currently logged in.

user = getattr(flask.g, 'user', None)
user = flask.g.get('user', None)