如何将 Flask-admin 添加到蓝图中?

2024-06-21

例如:

from flask import Flask
from flask.ext.admin import Admin, BaseView, expose

class MyView(BaseView):
    @expose('/')
    def index(self):
        return self.render('index.html')

app = Flask(__name__)

admin = Admin(app)
admin.add_view(MyView(name='Hello'))

app.run()

但是,如果我需要一个名为“views.py”的新文件,如何将视图添加到views.py管理? 我需要使用蓝图吗?


对于我的项目,我实际上制作了一个支持 Flask 管理的 Blueprint 子类:

from flask import Blueprint
from flask_admin.contrib.sqla import ModelView
from flask_admin import Admin

class AdminBlueprint(Blueprint):
    views=None


    def __init__(self,*args, **kargs):
        self.views = []
        return super(AdminBlueprint, self).__init__('admin2', __name__,url_prefix='/admin2',static_folder='static', static_url_path='/static/admin')


    def add_view(self, view):
        self.views.append(view)

    def register(self,app, options, first_registration=False):
        admin = Admin(app, name='microblog', template_mode='adminlte')

        for v in self.views:
            admin.add_view(v)

        return super(AdminBlueprint, self).register(app, options, first_registration)

有关详细信息,您可能想在这里阅读我的博客:http://blog.sadafnoor.me/blog/how-to-add-flask-admin-to-a-blueprint/ http://blog.sadafnoor.me/blog/how-to-add-flask-admin-to-a-blueprint/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Flask-admin 添加到蓝图中? 的相关文章

随机推荐