from flask_admin import Admin, expose from flask_admin.base import AdminIndexView from flask_admin.contrib import sqla from flask_simplelogin import login_required from flask_admin.model import typefmt from datetime import datetime from flaskblueprint.ext.database import db from flaskblueprint.models import User AdminIndexView._handle_view = login_required(AdminIndexView._handle_view) sqla.ModelView._handle_view = login_required(sqla.ModelView._handle_view) class AdminView(sqla.ModelView): def __init__(self, *args, **kwargs): super(AdminView, self).__init__(*args, **kwargs) self.column_formatters = dict(typefmt.BASE_FORMATTERS) self.column_formatters.update({ type(None): typefmt.null_formatter, datetime: self.date_format }) self.column_type_formatters = self.column_formatters def date_format(self, view, value): return value.strftime("%d %b %Y - %I:%M:%p") class HomeView(AdminIndexView):
from flask_admin import Admin from flask_admin.base import AdminIndexView # noqa from flask_admin.contrib.pymongo import ModelView # noqa from flask_simplelogin import login_required # decorate Flask-Admin view via Monkey Patching AdminIndexView._handle_view = login_required(AdminIndexView._handle_view) ModelView._handle_view = login_required(ModelView._handle_view) def configure(app): """Adds admin extension to app""" app.admin = Admin(app, "TalkShow", template_mode="bootstrap2")