当前位置 : 主页 > 编程语言 > python >

定制flask-admin的主页

来源:互联网 收集:自由互联 发布时间:2021-06-25
flask也用了很久了,一般配合flask-admin设置后台。 但是flask-admin设置的都是自己加入的,对某些model进行管理。 下面介绍如何定制flask-admin的首页。 原来我们引入flask-admin 是这么写的 a

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 %}

这里使用了模板和嵌套。

网友评论