项目介绍
备注
该章节将会介绍 Pear Admin Flask 项目的一些基本信息,以及介绍在开发时需要使用到的工具链、文档。此项目是一个 Web 开发项目,前后端一体, 在 layui 界面库的基础上进行二次封装以及开发。
重要
项目经过几次大型修改之后,为了同步项目 Pear Admin Layui ,部分(特别是前端页面的)代码改动较大,若要从旧版本进行迁移, 请根据文档的 从旧项目迁移 章节进行迁移与改变。如存在问题请在仓库中提交 issue 并标明分支, 然后提供详尽的复现方法,感谢各位! 另外,对于 Pear Admin Layui 中未实现但是在 Pear Admin Flask 中实现的内容或者存在的部分问题,请参阅 更新日志 章节。
项目简介
Pear Admin Flask 基于 Flask 的后台管理系统,拥抱应用广泛的python语言,通过使用本系统,即可快速构建你的功能业务 项目旨在为 python 开发者提供一个后台管理系统的模板,可以快速构建信息管理系统。
项目使用 flask-sqlalchemy + 权限验证 + marshmallow 序列化与数据验证,以此方式集成了若干不同的功能。
内置功能
用户管理:用户是系统操作者,该功能主要完成系统用户配置。
权限管理:配置系统菜单,操作权限,按钮权限标识等。
角色管理:角色菜单权限分配。
操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
登录日志:系统登录日志记录查询包含登录异常。
服务监控:监视当前系统 CPU、内存、磁盘、Python 版本、运行时长等相关信息。
文件上传:图片上传示例。
项目分支说明
警告
Pear Admin Flask 不仅仅只提供一种对于 Pear Admin 后端的实现方式,所以提供了不同的分支版本,不同分支版本各有其优劣,并且由不同的开发者维护
分支名称 |
特点 |
|---|---|
功能齐全,处于开发阶段,代码量较大。 |
|
功能精简,代码量小,处于开发阶段,易于维护。 |
|
不再更新,是最初版本的镜像 |
版本支持情况
经过测试,此项目的(master分支)运行要求是 >= Python 3.8 ,推荐使用 Python 3.11。
小技巧
由于 Flask 中使用的 Werkzeug 模块更新,Flask 官方并未进行更新,所以可能会出现 ImportError 。 截止至 2025 年 1 月 26 日,若使用项目中 requirements.txt 不会出现该错误。
此类情况的出现可以通过正确安装 requirements.txt 中的模块(以及其对应版本)解决。
目录架构
应用结构
Pear Admin Flask (master)
├─applications # 项目核心模块
│ ├─common # 公共模块(初始化数据库、公用函数)
│ ├─extensions # 注册项目插件
│ ├─schemas # 序列化模型
│ ├─models # 数据库模型
│ ├─views # 视图部分
│ ├─config.py # 项目配置
│ └─__init__.py # 项目初始化入口
├─docs # 文档说明
├─static # 静态资源文件
├─templates # 静态模板文件
└─app.py # 程序入口
资源结构
Pear Admin Flask (master)
├─static # 项目设定的 Flask 资源文件夹
│ ├─admin # pear admin flask 的后端资源文件(与 pear admin layui 同步)
│ ├─index # pear admin flask 的前端资源文件
│ └─upload # 用户上传保存目录
└─templates # 项目设定的 Flask 模板文件夹
├─admin # pear admin flask 的后端管理页面模板
│ ├─admin_log # 日志页面
│ ├─common # 基本模板页面(头部模板与页脚模板)
│ ├─console # 系统监控页面模板
│ ├─dept # 部门管理页面模板
│ ├─dict # 数据自动页面模板
│ ├─mail # 邮件管理页面模板
│ ├─photo # 图片上传页面模板
│ ├─power # 权限(菜单)管理页面模板
│ ├─role # 角色管理页面模板
│ ├─task # 任务设置页面模板
│ └─user # 用户管理页面模板
├─errors # 错误页面模板
└─index # 主页模板
开发资源
由于项目依赖多个开源项目,而此开发文档并不会全进行涉足,所以提供如下的链接共大家开发参考:
前端页面设计可以参考 layui 原生态 · 开源 极简模块化 Web UI 组件库 。
后端 Flask 学习可以参考官方的 Flask 开发文档 。
Pear Admin 框架的源码可以查看 Pear Admin 开源仓库 。
开发时可以选择 PyCharm 作为集成开发环境 。