flask也用了很久了,一般配合flask-admin設置后台。
但是flask-admin設置的都是自己加入的,對某些model進行管理。
下面介紹如何定制flask-admin的首頁。
原來我們引入flask-admin
是這么寫的
admin = Admin(app)
現在要寫更多參數了。
例1:
admin = Admin( app, name='導航管理', index_view=MyAdminIndexView(name='預覽頁'), template_mode='bootstrap3' )
繼續查看源碼
self.index_view = index_view or AdminIndexView(endpoint=endpoint, url=url)
繼續看例1的index_view,我使用了自定義類MyAdminIndexView,其實它是繼承自AdminIndexView。
class MyAdminIndexView(AdminIndexView): @expose('/') def default(self): plan = [ { 'date': '20171212', 'train': 'T198', 'track': '8' }, { 'date': '20171212', 'train': 'T199', 'track': '9' }, { 'date': '20171212', 'train': 'T197', 'track': '7' }, { 'date': '20171212', 'train': 'T196', 'track': '6' } ]
return self.render('admin.html', plans = plan)
注意:平時我們用的都是
return render_template('admin.html')
在flask-admin中,我們使用
return self.render('admin.html', plans = plan)
另附admin.html
{% extends 'admin/index.html' %} {% block body %} Hello World from MyView! {% for plan in plans %} {{ plan.date }} {{ plan.train }} {{ plan.track }} <br> {% endfor %} {% endblock %}
這里使用了模板和嵌套。