FlaskAdmin Modelview配置

2024-10-02 22:34:43 发布

您现在位置:Python中文网/ 问答频道 /正文

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

class AuthUserView(AuthModelView):
    column_list = ('username', 'email', 'roles', 'last_login_at', 'login_count')
工作太好了!但现在我的问题是这个。还有一个附加到用户的密码字段。当“编辑”选项卡打开时,我希望该列不在编辑字段中。此外,当我创建一个用户时,我希望密码字段在那里,但是在将其存储到数据库之前对输入进行加密(这意味着我只需要截获“提交”和实际存储之间的数据)。在

有可能进行这些定制吗?谢谢你的帮助!在

编辑:所以我可以通过在视图中添加以下代码来删除密码字段:

^{pr2}$

但现在这会从编辑和创建表单中删除它。但我只想把它从一个里面去掉。在


Tags: 用户编辑密码flask列表adminlogincolumn
1条回答
网友
1楼 · 发布于 2024-10-02 22:34:43

开始工作了!如果有人碰到这个问题,我会把我的答案写在这里。。。这是我的最终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)

我使用“编辑规则”表单从编辑字段中删除密码密钥。然后我重写create_model来加密密码,然后调用super方法来实际创建模型。在

相关问题 更多 >