man*_*aia 3 flask flask-login flask-admin
我将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()
Run Code Online (Sandbox Code Playgroud)
这样的代码没有任何效果:所有用户仍然可以创建,管理员和非管理员用户之间没有区别.
非常感谢任何关于如何仅允许给定用户创建模型的提示.
看起来你刚刚创建了局部变量can_create,所以你可以试试self.can_create = False.但是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'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |