Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Flask Admin将内容添加到索引页_Flask_Flask Admin - Fatal编程技术网

如何使用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,

我正在使用flask admin,我想在主页上添加一个仪表板。我发现我可以使用以下方法添加新页面:

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

如果您正在阅读本文,那么xhr/ajax可能是您项目的最佳解决方案。我发现这是另一个适合我的仪表板的选项。嗨@nycynik。。。我正在尝试覆盖气流的默认页面。。你在哪里获得要传入管理构造函数的应用程序对象?我在这里也发布了一个问题,应用程序是Flask应用程序
参数:应用程序–Flask应用程序实例
当您首次初始化Flask应用程序时,它返回应用程序实例。应用程序实例已在气流启动时创建。。。我正在尝试覆盖默认的管理索引页。因此,我需要在开始时创建的同一个应用程序实例。。。所以不知道如何获得相同的应用程序实例
admin = Admin(
    app,
    index_view=AdminIndexView(
        name='Home',
        template='admin/myhome.html',
        url='/'
    )
)