use*_*149 2 python flask flask-admin
我正在尝试调整Flask-Admin Modelview以仅显示"编辑"和"创建"选项卡中的某些列.到目前为止,我已经能够通过将它放在我的子类中来正确配置列表:
class AuthUserView(AuthModelView):
column_list = ('username', 'email', 'roles', 'last_login_at', 'login_count')
Run Code Online (Sandbox Code Playgroud)
效果很好!但现在我的问题是这个.还有一个附加到用户的密码字段.当编辑选项卡打开时,我希望该列不在编辑字段之外.此外,当我创建一个用户时,我希望密码字段存在,但是在将输入存储到数据库之前加密输入(意思是我只需要在"提交"和实际存储之间截取数据".
是否可以进行这些自定义?谢谢你的帮助!
编辑:所以我可以通过将此代码添加到我的视图中来删除密码字段:
form_excluded_columns = ('password')
Run Code Online (Sandbox Code Playgroud)
除此之外,这将从编辑和创建表单中删除它.我只希望它从一个删除.
搞定了!如果有其他人遇到这个问题,我会把我的答案放在这里......这就是我的最终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)
Run Code Online (Sandbox Code Playgroud)
我使用form_edit_rules从编辑字段中删除密码密钥.然后我重写create_model来加密密码,然后调用super方法来实际创建模型.
| 归档时间: |
|
| 查看次数: |
1276 次 |
| 最近记录: |