如何将flask-admin添加到蓝图? [英] How do I add flask-admin to a Blueprint?

查看:112
本文介绍了如何将flask-admin添加到蓝图?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如:

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中以进行管理? 我需要使用蓝图吗?

but, if I need a new file, called 'views.py', how can I add a view into views.py to admin? Do I need to use a blueprint?

推荐答案

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

For my project I actually made a child class of Blueprint that supports flask admin:

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/

For details you may like to read my blog here: http://blog.sadafnoor.me/blog/how-to-add-flask-admin-to-a-blueprint/

这篇关于如何将flask-admin添加到蓝图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆