Flask-Admin Role Based Access - изменение доступа в зависимости от роли

Я взял пример проверки подлинности Flask-Admin сВот и немного изменил.

Я добавил следующий блок в представлении ниже, но он не показывает кнопку экспорта. Я ожидал, что это добавит опцию экспорта к представлениям администратора. Это печатает---superuser на консоль.

        if current_user.has_role('superuser'):
            can_export = True
            print ' ---- superuser '

Я использовал функцию экспорта много раз раньше. Это будет работать, если я поставлю заявлениеcan_export = True нижеclass MyModelView(sqla.ModelView): Я использую это как пример управления доступом к созданию / редактированию / и т.д. на основе роли пользователя. Например, я хочу иметь роль только для чтения, где can_create = False, can_edit = False и т. Д.

Может кто-нибудь помочь? Может кто-нибудь сказать мне, что я делаю не так?

==

Это весь взгляд.

# Create customized model view class
class MyModelView(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('superuser'):
            return True

        return False

    def _handle_view(self, name, **kwargs):
        """
        Override builtin _handle_view in order to redirect users when a view is not accessible.
        """
        if current_user.has_role('superuser'):
            can_export = True
            print ' ---- superuser '

        if not self.is_accessible():
            if current_user.is_authenticated:
                # permission denied
                abort(403)
            else:
                # login
                return redirect(url_for('security.login', next=request.url))

==

Для справки: я поставил весь кодВот.

Ответы на вопрос(1)

Ваш ответ на вопрос