python - 如何在 Flask-Admin 中将方法中的访问与 BaseModelView 类分开

标签 python flask flask-sqlalchemy flask-admin flask-security

我使用Flask-Admin来管理我的仪表板,我的应用程序中的角色很少,其中两个是 super 用户客户端>.

现在,我已经通过 Flask-SQLAlchemy 构建了 User 表,现在我想按用户角色管理该表。这意味着 super 用户可以在 Flask-Admin 表单中编辑用户角色,而在其他客户端中则无法执行此操作或表单不会显示。

喜欢这个截图: enter image description here super 用户角色的编辑表单。但目前,如果当前用户具有角色 client,我希望不显示编辑表单。

所以,从逻辑上讲,我想做这样的事情:

class UserModelView(sqla.ModelView):
    if current_user.has_role('superuser'):
        form_excluded_columns = ('created_at', 'updated_at')
    else:
        form_excluded_columns = ('created_at', 'updated_at', 'roles')

最佳答案

我遵循@SergeyShubin的建议来遵循他的回答here在这种情况下,与我的情况非常相似,并且效果很好。

还有@SergeyShubin 回答 here也和我的情况类似。非常感谢@SergeyShubin。

关于python - 如何在 Flask-Admin 中将方法中的访问与 BaseModelView 类分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55492612/

相关文章:

python - 根据列表中的整数连接字符串

python - 使用通配符在 bytearray 中查找 bytearray

java - 将 Flask 消息淡出为多条消息

python - SQLAlchemy 按 PickleType 内容过滤查询

python - 无法在 flask-sqlalchemy 中创建自引用外键

python - 使用 nosql 排名在 SQLalchemy 中排序和分页

python - 如何使用 Python 在 Mac 中控制鼠标?

python - 用Python制作一个电子邮件函数

python - 即使调用 Flask-SQLAlchemy create_all,表也不可用

python - 如何调试 Flask 应用程序