2016-03-23 71 views
1

我正在使用flask-admin,並且我想將一個儀表板添加到主頁。我發現我可以添加使用了新的一頁:如何添加內容到索引頁使用Flask-Admin

admin = Admin(name='Dashboard', base_template='admin/my_master.html', template_mode='bootstrap3') 

則:

admin.init_app(app) 

,最後我說my_master.html,並添加內容。但是,它全部是靜態的,我如何將自定義數據添加到該視圖?

回答

4

我找到了文檔中的答案:http://flask-admin.readthedocs.org/en/latest/api/mod_base/

它可以通過將自己的視圖類來管理構造覆蓋:

class MyHomeView(AdminIndexView): 
    @expose('/') 
    def index(self): 
     arg1 = 'Hello' 
     return self.render('admin/myhome.html', arg1=arg1) 

admin = Admin(index_view=MyHomeView()) 

此外,您可以將/ url的根url更改爲/ with以下內容:

admin = Admin(
    app, 
    index_view=AdminIndexView(
     name='Home', 
     template='admin/myhome.html', 
     url='/' 
    ) 
) 

的索引頁面默認值爲:

  • 如果不提供名稱,「家庭」將被使用。
  • 如果未提供端點,則默認爲admin默認URL路由爲/ admin。
  • 自動關聯靜態文件夾。默認模板是admin/index.html
+0

如果您正在閱讀本文,xhr/ajax也許是您項目的最佳解決方案。我發現這是另一種適用於我的儀表板的選項。 – nycynik

1

根據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')) 
+1

這並不顯示如何將數據傳遞到頁面。 – nycynik

相關問題