如何与flask admin中的单个表单字段进行交互?

时间:2019-07-22 19:12:16

标签: python flask flask-wtforms flask-admin

如何遍历flask-admin上可用的特定表单字段? 当用户填写我为网站创建的自定义表格之一时,我正在使用flask_bcrypt来获取密码,但是例如,假设我要使用flask admin更改某个用户的密码,因为该密码根本无法使用会将新密码存储为哈希。 我想先哈希新密码,然后再将其存储在数据库中。 我该怎么做呢?

我已经上网了,但什么也没找到,所以根本不可能吗?

我尝试查看文档,但实际上找不到任何有用的文档。

假设这是我的数据模型:

class User(db.Model , UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    password = db.Column(db.String(60), nullable=False)

例如,这是我的注册路线

@app.route("/register", methods=['GET', 'POST'])
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
    hashed_pass=bcrypt.generate_password_hash(form.password.data).decode('utf-8')
    user = User(username=form.username.data,email=form.email.data, password=hashed_pass)
    db.session.add(user)
    db.session.commit()

我想从管理员模型视图中获取密码字段,并且与上述代码相同。

1 个答案:

答案 0 :(得分:0)

在查找SQLAlchemy文档时,我找到了一种解决此问题的方法,只需设置一个事件侦听器,即可在编辑或更改密码值时立即启动。

v-expansion-panel