文章目录
- 2. 角色权限管理 (Role & Permission)
- 6. 图书分类管理 (Classification)
下载地址
夸克网盘:https://pan.quark.cn/s/543dcf84f898
系统截图









项目简介
这是一个基于 Python Flask 框架开发的图书管理系统后端服务,配合 Vue3 前端项目使用。系统支持图书管理、用户管理、角色权限、借阅管理等功能。
技术栈
后端框架
- Flask
- Flask-SQLAlchemy
- Flask-JWT-Extended
- Flask-Migrate
- Flask-Cors
- Flask-Session
- flask-redis
数据库与缓存
- MySQL
- PyMySQL
- SQLAlchemy
- Redis
其他依赖
- loguru
- pandas
- cryptography
- Werkzeug
- Alembic
Python 版本要求
本项目支持以下 Python 版本:
从 __pycache__ 目录可以看出,项目已在 Python 3.7、3.8、3.10 上成功运行过。
项目结构
flask-book-manage-system/├── app.py # 应用入口文件├── settings.py # 全局配置文件├── requirements.txt # 依赖包列表├── apps/ # 应用模块│ ├── __init__.py # 应用工厂│ ├── User/ # 用户模块│ ├── book/ # 图书模块│ ├── author/ # 作者模块│ ├── publish/ # 出版社模块│ ├── classification/ # 图书分类模块│ ├── role/ # 角色权限模块│ ├── permission/ # 权限模块│ ├── audit/ # 借阅审核模块│ └── notice/ # 公告模块├── exts/ # 扩展模块│ ├── db.py # 数据库初始化│ ├── auth.py # 认证相关│ ├── common.py # 公共函数│ ├── logHandler.py # 日志处理│ └── sendmail.py # 邮件发送├── static/images/ # 图片上传目录└── logs/ # 日志目录
主要功能模块
1. 用户管理 (User)
2. 角色权限管理 (Role & Permission)
3. 图书管理 (Book)
4. 作者管理 (Author)
5. 出版社管理 (Publish)
6. 图书分类管理 (Classification)
7. 借阅管理 (Audit)
8. 公告管理 (Notice)
环境要求
必需软件
- Python
- MySQL
- Redis
环境配置
MySQL 数据库配置
Redis 配置
前端地址配置
在 settings.py 中修改前端地址:
VUE_ADDR = 'http://127.0.0.1:5173' # 开发环境
快速开始
1. 安装依赖
pip install -r requirements.txt
2. 配置数据库
确保 MySQL 和 Redis 服务已启动,并根据需要修改 settings.py 中的配置。
3. 数据库迁移
# 初始化迁移(首次运行)flask db init# 创建迁移脚本flask db migrate -m "initial migration"# 执行迁移flask db upgrade
4. 启动服务
服务将在 http://127.0.0.1:8888 启动(可在 settings.py 中修改端口)。
配置说明
settings.py 主要配置项
| | |
|---|
| | |
| | |
| | |
| | |
| JWT_REFRESH_TOKEN_EXPIRES | | |
| | |
| | |
| | |
API 认证
系统使用 JWT (JSON Web Token) 进行身份认证:
- Header 名称:
X-Access-Token
开发说明
代码规范
- 模型类位于
apps/<module>/model.py - 视图函数位于
apps/<module>/views.py
日志
- 文件命名格式:
YYYY-MM-DD-HH-MM-SS-run.log
常见问题
1. 数据库连接失败
2. Redis 连接失败
3. 依赖安装失败
- 尝试升级 pip:
pip install --upgrade pip
注意事项
- 数据库密码: 请务必修改
settings.py 中的数据库密码,不要使用默认密码 - 密钥安全: 生产环境请修改
SECRET_KEY 和 JWT_SECRET_KEY - 端口配置
- 文件上传: 确保
static/images/ 目录有写入权限
代码错误检查
经过分析,项目代码结构清晰,没有发现明显的语法错误。项目使用的依赖版本兼容,各模块功能完整。
许可证
本项目仅供学习和研究使用。