如何使用 Flask-Admin 向索引页添加内容
How to add content to the index page using Flask-Admin
我正在使用 flask-admin,我想在主页上添加一个仪表板。我发现我可以使用以下方法添加新页面:
admin = Admin(name='Dashboard', base_template='admin/my_master.html', template_mode='bootstrap3')
然后:
admin.init_app(app)
最后我添加了my_master.html,并添加了内容。但是,它都是静态的,我如何向该视图添加自定义数据?
根据 flask-admin documentation 使用这个:
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'))
我在文档中找到了答案:http://flask-admin.readthedocs.org/en/latest/api/mod_base/
可以通过将您自己的视图 class 传递给 Admin 构造函数来覆盖它:
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='/'
)
)
索引页的默认值为:
- 如果未提供名称,将使用“家”。
- 如果未提供端点,将默认为 admin 默认 URL 路由为 /admin。
- 自动关联静态文件夹。默认模板是 admin/index.html
我正在使用 flask-admin,我想在主页上添加一个仪表板。我发现我可以使用以下方法添加新页面:
admin = Admin(name='Dashboard', base_template='admin/my_master.html', template_mode='bootstrap3')
然后:
admin.init_app(app)
最后我添加了my_master.html,并添加了内容。但是,它都是静态的,我如何向该视图添加自定义数据?
根据 flask-admin documentation 使用这个:
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'))
我在文档中找到了答案:http://flask-admin.readthedocs.org/en/latest/api/mod_base/
可以通过将您自己的视图 class 传递给 Admin 构造函数来覆盖它:
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='/'
)
)
索引页的默认值为:
- 如果未提供名称,将使用“家”。
- 如果未提供端点,将默认为 admin 默认 URL 路由为 /admin。
- 自动关联静态文件夹。默认模板是 admin/index.html