Flask-admin 笔记一 (快速启用)
1,快速启用
1) 安装flask-admin
pip install flask-admin
2) 配置使用
from flask import Flask from flask_admin import Admin app = Flask(__name__) admin = Admin(app, name='后台管理系统', template_mode='bootstrap3') # Add administrative views here app.run()
关键是使用了Admin类来注册app,然后启动后,就能在http://localhost:5000/admin/ 里看到相应的效果了:
2,增加模型视图
其实,这里指的模型是数据模型,通过数据模型映射到数据库取值,然后再通过flask-admin封装视图里面,flask-admin提供了内建的后端视图,它已经实现对SQLAlchemy,MongoEngine,pyMongo,Peewee的支持了,而且还提供一些简单的文件管理界面和控制台。
以下,来看看这么配置数据模型注册到flask-admin:
from flask_admin.contrib.sqla import ModelView # Flask and Flask-SQLAlchemy initialization here admin = Admin(app, name='microblog', template_mode='bootstrap3') admin.add_view(ModelView(User, db.session)) admin.add_view(ModelView(Post, db.session))
开箱即用,flask-admin提供了一组全功能的CURD的功能:
1)列表视图,支持搜索,排序,筛选和删除记录
2)添加新记录的视图
3)用于更新现有记录的编辑视图
4)可选的只读详细信息视图
有许多选项可用于自定义这些内置视图的显示和功能。 有关更多详细信息,请参阅自定义内置视图(https://flask-admin.readthedocs.io/en/latest/advanced/#database-backends) 有关可用的其他ORM后端的更多详细信息,请参阅使用不同的数据库后端。
3,修改管理首页的内容
其实就是集成默认的 admin/index.html 页面,然后修改body的内容:
{% extends 'admin/master.html' %} {% block body %} <p>Hello world</p> {% endblock %}
这将覆盖默认的索引模板,但仍然给你内置的导航菜单。 所以,现在你可以添加任何内容到索引页面,同时保持一致的用户体验。