我使用Flask-Admin来管理我的仪表板,我的应用程序中的角色很少,其中两个是 super 用户和客户端>.
现在,我已经通过 Flask-SQLAlchemy 构建了 User 表,现在我想按用户角色管理该表。这意味着 super 用户可以在 Flask-Admin 表单中编辑用户角色,而在其他客户端中则无法执行此操作或表单不会显示。
喜欢这个截图: 有 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/