就是在dashboard首页有个图表统计直观展示一些数据,本例用的是用户的角色及统计。
图上信息可以看到,用户100个,四种角色以及角色的人数和占比,以此类推可以统计一些其他的信息。以下我尝试简单的阐述一下实现:
文件结构
这里只是蓝图的结构,主要用到的是views.py视图函数,models.py定义Dashboard类,提供一些查询方法,以及模板文件dashboard.html。
views.py视图函数
@admin.route('')
def dashboard():
group_and_count_users = Dashboard.group_and_count_users()
return render_template('admin/page/dashboard.html',
group_and_count_users=group_and_count_users)
可以看到视图函数非常简单,因为展示的数据内容也不提供什么其他操作,所以只是简单的返回一个模板文件。我们只要关注传入的group_and_count_users这个参数就可以了,这是展示内容所需的数据,来自于数据库的查询。
Dashboard
# coding: utf-8
from sqlalchemy import func
from pms.blueprints.user.models import User, db
class Dashboard(object):