如何使用Flask Admin将内容添加到索引页
我正在使用flask admin,我想在主页上添加一个仪表板。我发现我可以使用以下方法添加新页面:如何使用Flask Admin将内容添加到索引页,flask,flask-admin,Flask,Flask Admin,我正在使用flask admin,我想在主页上添加一个仪表板。我发现我可以使用以下方法添加新页面: admin = Admin(name='Dashboard', base_template='admin/my_master.html', template_mode='bootstrap3') 然后: 最后,我添加了my_master.html,并添加了内容。但是,它都是静态的,如何将自定义数据添加到该视图中?根据使用说明: from flask_admin import BaseView,
admin = Admin(name='Dashboard', base_template='admin/my_master.html', template_mode='bootstrap3')
然后:
最后,我添加了my_master.html,并添加了内容。但是,它都是静态的,如何将自定义数据添加到该视图中?根据使用说明:
from flask_admin import BaseView, expose
class AnalyticsView(BaseView):
@expose('/')
def index(self):
return self.render('analytics_index.html', args=args)
admin.add_view(AnalyticsView(name='Analytics', endpoint='analytics'))
我在文档中找到了答案: 可以通过将自己的视图类传递给管理员构造函数来覆盖它:
class MyHomeView(AdminIndexView):
@expose('/')
def index(self):
arg1 = 'Hello'
return self.render('admin/myhome.html', arg1=arg1)
admin = Admin(index_view=MyHomeView())
此外,您还可以使用以下命令将根url从/admin更改为/:
admin = Admin(
app,
index_view=AdminIndexView(
name='Home',
template='admin/myhome.html',
url='/'
)
)
索引页的默认值为:
- 如果未提供名称,将使用“Home”李>
- 如果未提供端点,将默认为admin默认URL路由为/admin
- 自动与静态文件夹关联。默认模板是admin/index.html
参数:应用程序–Flask应用程序实例
当您首次初始化Flask应用程序时,它返回应用程序实例。应用程序实例已在气流启动时创建。。。我正在尝试覆盖默认的管理索引页。因此,我需要在开始时创建的同一个应用程序实例。。。所以不知道如何获得相同的应用程序实例
admin = Admin(
app,
index_view=AdminIndexView(
name='Home',
template='admin/myhome.html',
url='/'
)
)