Flask-admin 笔记一 (快速启用)

时间:2023-03-09 23:14:33
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/ 里看到相应的效果了:

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

这将覆盖默认的索引模板,但仍然给你内置的导航菜单。 所以,现在你可以添加任何内容到索引页面,同时保持一致的用户体验。