【发布时间】:2019-01-26 10:48:04
【问题描述】:
我使用 Flask 制作了一个学费支付应用,并使用 Flask-admin 来管理付款。这个应用程序中有三个角色,分别是超级用户、学校管理员和想见孩子的家长学费。
我知道如何为 superuser 和 school 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