Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Flask-Admin是Flask框架的一个扩展,用它能够快速创建Web管理界面,它实现了比如用户、文件的增删改查等常用的管理功能;如果对它的默认界面不喜欢,可以通过修改模板文件来定制;
Flask-Admin把每一个菜单(超链接)看作一个view,注册后才能显示出来,view本身也有属性来控制其是否可见;因此,利用这个机制可以定制自己的模块化界面,比如让不同权限的用户登录后看到不一样的菜单;
项目地址:https://flask-admin.readthedocs.io/en/latest/
example/simple
这是最简单的一个样例,可以帮助我们快速、直观的了解基本概念,学会定制Flask-Admin的界面
simple.py:
fromflaskimportFlask
fromflask.extimportadmin
#Createcustomadminview
classMyAdminView(admin.BaseView):
@admin.expose('/')
defindex(self):
returnself.render('myadmin.html')
classAnotherAdminView(admin.BaseView):
@admin.expose('/')
defindex(self):
returnself.render('anotheradmin.html')
@admin.expose('/test/')
deftest(self):
returnself.render('test.html')
#Createflaskapp
app=Flask(__name__,template_folder='templates')
app.debug=True
#Flaskviews
@app.route('/')
defindex():
return'<ahref="/admin/">ClickmetogettoAdmin!</a>'
#Createadmininterface
admin=admin.Admin()
admin.add_view(MyAdminView(category='Test'))
admin.add_view(AnotherAdminView(category='Test'))
admin.init_app(app)
if__name__=='__main__':
#Startapp
app.run()
在这里可以看到运行效果
BaseView
所有的view都必须继承自BaseView:classBaseView(name=None,category=None,endpoint=None,url=None,static_folder=None,static_url_path=None)