【问题标题】:Flask-admin how to remove the action for edit and delete recordFlask-admin 如何删除编辑和删除记录的操作
【发布时间】:2019-01-26 10:48:04
【问题描述】:

我使用 Flask 制作了一个学费支付应用,并使用 Flask-admin 来管理付款。这个应用程序中有三个角色,分别是超级用户学校管理员和想见孩子的家长学费。

我知道如何为 superuserschool admin 设置 角色,即 superuser可以创建学校管理员学校管理员可以添加和编辑或删除学生数据。

到目前为止,这是我的学校管理员模型视图代码:

class SchoolAdminModelView(sqla.ModelView):
    def is_accessible(self):
        if not current_user.is_active or not current_user.is_authenticated:
            return False
        if current_user.has_role('schooladmin'):
            return True
        return False
    def _handle_view(self, name, **kwargs):
        if not self.is_accessible():
            if current_user.is_authenticated:
                abort(403)
            else:
                return redirect(url_for('security.login', next=request.url))

但是对于父级,我希望父级帐户只能查看或读取数据而无需修改它。

如下图所示: 那是 学校管理员 视图,现在对于 家长 帐户,我想删除编辑和删除图标或功能。

那么,如何做到这一点..?

【问题讨论】:

    标签: python flask flask-sqlalchemy flask-login flask-admin


    【解决方案1】:

    根据文档https://flask-admin.readthedocs.io/en/latest/api/mod_model/#flask.ext.admin.model.BaseModelView.can_create 您可以向模型添加属性,例如编辑、删除、创建。只需将其绑定到需要的特定角色即可。

    【讨论】:

    • 非常感谢@gittert,你节省了我的时间:)
    猜你喜欢
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 2016-08-18
    • 2020-11-20
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    相关资源
    最近更新 更多