【问题标题】:Flask-Admin Modelview configurationsFlask-Admin 模型视图配置
【发布时间】:2014-09-17 19:04:22
【问题描述】:

我正在尝试调整 Flask-Admin 模型视图以仅在“编辑”和“创建”选项卡中显示某些列。到目前为止,我已经能够通过将其放入我的子类来正确配置列表:

class AuthUserView(AuthModelView):
    column_list = ('username', 'email', 'roles', 'last_login_at', 'login_count')

效果很好!但现在我的问题是这样的。还有一个附加到用户的密码字段。当编辑选项卡打开时,我希望该列被排除在编辑字段之外。此外,当我创建用户时,我希望密码字段存在,但在将输入存储到数据库之前对其进行加密(这意味着我只需要在“提交”和实际存储之间截取数据”。

是否可以进行这些自定义?感谢您的帮助!

编辑:所以我可以通过将此代码添加到我的视图中来删除密码字段:

form_excluded_columns = ('password')

除了现在,这会将其从编辑和创建表单中删除。我只希望它从一个中删除。

【问题讨论】:

    标签: python flask flask-admin


    【解决方案1】:

    搞定了!图 如果其他人遇到这个问题,我会把我的答案放在这里...这是我最终的 AuthUserView 的样子

    class AuthUserView(AuthModelView):
        form_edit_rules = ('roles', 'active', 'username', 'email', 'confirmed_at', 'last_login_at', 'current_login_at', 'last_login_ip', 'current_login_ip', 'login_count')
        column_list = ('username', 'email', 'roles', 'last_login_at', 'login_count')
    
        def create_model(self, form):
            form.password.data = encrypt_password(form.password.data)
            super(AuthUserView, self).create_model(form)
    

    我使用 form_edit_rules 从编辑字段中删除密码密钥。然后我重写create_model对密码进行加密,然后调用super方法实际创建模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多