小编Do *_* Ha的帖子

如何使用flask-admin编辑modelview

如何使用flask-admin的编辑页面中的generate_password_hash设置password_hash

  1. 我在python shell中创建用户名和密码.密码是哈希
  2. admin.add_view(MyModelView(User,db.session) - 让我编辑User类模型
  3. 当我编辑密码并提交但密码以纯文本格式保存时.

如何从flask-admin编辑密码,密码应保存为散列类型

我的代码是:

from werkzeug.security import generate_password_hash, check_password_hash
class User(db.Model):
     id = db.Column(db.Integer, primary_key=True)
     email = db.Column(db.String(120))
     password_hash = db.Column(db.String(64))
     username = db.Column(db.String(64), unique=True, index=True)

     @password.setter
     def password(self, password):
          self.password_hash = generate_password_hash(password)

     def __repr__(self):
          return '<User %r>' % self.username

#Create custom models view
class MyModelView(sqla.ModelView):
    @admin.expose('/login/')
    def index(self):
        return self.render('login.html')

# Create custom admin view
class MyAdminView(admin.BaseView):
    @admin.expose('/')
    def index(self):
        return self.render('myadmin.html')

admin = admin.Admin(name="Simple Views")
admin.add_view(MyAdminView(name='hello'))
admin.add_view(MyModelView(User, db.session))
admin.init_app(app)
app.run()
Run Code Online (Sandbox Code Playgroud)

flask-admin

4
推荐指数
2
解决办法
3075
查看次数

标签 统计

flask-admin ×1