Flask-Admin can_create = True 仅适用于给定用户

2023-12-29

我将 Flask-Admin 与 Flask-Login 和 mongoengine 结合使用。

我希望根据用户自定义视图。以下是一个例子can_create,允许创建模型。


class MyModelView(ModelView):
    column_exclude_list = ['password']
    def is_accessible(self):
        if (login.current_user.login != 'admin'):
            can_create=False
        return login.current_user.is_authenticated()

这样一段代码没有任何作用:所有用户仍然可以创建,管理员和非管理员用户没有区别。

非常感谢您提供有关如何仅允许给定用户创建模型的任何提示。


看起来你刚刚创建了局部变量can_create,所以你可以尝试self.can_create = False. But flask-admin创建一个实例View这可能是并发问题。然而,更好的单独逻辑用于检查可访问性和更改视图状态。所以可能最好使用下一个代码:

class MyModelView(ModelView):
    column_exclude_list = ['password']

    def is_accessible(self):
        return login.current_user.is_authenticated()

    @property
    def can_create(self):
        return login.current_user.login == 'admin'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask-Admin can_create = True 仅适用于给定用户 的相关文章

随机推荐