首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask-Admin模型视图配置

Flask-Admin模型视图配置
EN

Stack Overflow用户
提问于 2014-09-18 03:04:22
回答 1查看 1.6K关注 0票数 2

我正在尝试调整Flask-Admin模型视图,使其仅显示Edit和Create选项卡中的某些列。到目前为止,通过将以下代码放入我的子类中,我已经能够正确地配置清单:

代码语言:javascript
复制
class AuthUserView(AuthModelView):
    column_list = ('username', 'email', 'roles', 'last_login_at', 'login_count')

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

可以进行这些自定义吗?谢谢你的帮助!

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

代码语言:javascript
复制
form_excluded_columns = ('password')

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

EN

回答 1

Stack Overflow用户

发布于 2014-09-18 04:09:52

让它工作了!如果其他人遇到这个问题,我会在这里写下我的答案。下面是我的最终AuthUserView的样子

代码语言:javascript
复制
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来加密密码,然后调用超级方法来实际创建模型。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25898397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档