当前位置:首页>python>基于Python+Vue3的图书管理系统

基于Python+Vue3的图书管理系统

  • 2026-10-12 02:35:57
基于Python+Vue3的图书管理系统

文章目录

  • 下载地址
  • 系统截图
    • 项目简介
    • 技术栈
      • 后端框架
      • 数据库与缓存
      • 其他依赖
    • Python 版本要求
    • 项目结构
    • 主要功能模块
      • 1. 用户管理 (User)
      • 2. 角色权限管理 (Role & Permission)
      • 3. 图书管理 (Book)
      • 4. 作者管理 (Author)
      • 5. 出版社管理 (Publish)
      • 6. 图书分类管理 (Classification)
      • 7. 借阅管理 (Audit)
      • 8. 公告管理 (Notice)
    • 环境要求
      • 必需软件
      • 环境配置
    • 快速开始
      • 1. 安装依赖
      • 2. 配置数据库
      • 3. 数据库迁移
      • 4. 启动服务
    • 配置说明
      • settings.py 主要配置项
    • API 认证
    • 开发说明
      • 代码规范
      • 日志
    • 常见问题
      • 1. 数据库连接失败
      • 2. Redis 连接失败
      • 3. 依赖安装失败
    • 注意事项
    • 代码错误检查
    • 许可证

下载地址

夸克网盘:https://pan.quark.cn/s/543dcf84f898

系统截图

项目简介

这是一个基于 Python Flask 框架开发的图书管理系统后端服务,配合 Vue3 前端项目使用。系统支持图书管理、用户管理、角色权限、借阅管理等功能。

技术栈

后端框架

  • Flask
    : 2.0.2 - Web 框架
  • Flask-SQLAlchemy
    : 2.5.1 - ORM 数据库操作
  • Flask-JWT-Extended
    : 4.6.0 - JWT 身份认证
  • Flask-Migrate
    : 2.6.0 - 数据库迁移
  • Flask-Cors
    : 3.0.10 - 跨域支持
  • Flask-Session
    : 0.4.0 - Session 管理
  • flask-redis
    : 0.4.0 - Redis 集成

数据库与缓存

  • MySQL
    : 关系型数据库
  • PyMySQL
    : 1.0.0 - MySQL 驱动
  • SQLAlchemy
    : 1.4.41 - SQL 工具包
  • Redis
    : 5.0.2 - 缓存和 Session 存储

其他依赖

  • loguru
    : 0.7.2 - 日志处理
  • pandas
    : 2.0.3 - 数据处理
  • cryptography
    : 42.0.7 - 加密库
  • Werkzeug
    : 2.3.6 - WSGI 工具库
  • Alembic
    : 1.9.4 - 数据库迁移工具

Python 版本要求

本项目支持以下 Python 版本:

  • Python 3.7+
  • 推荐使用 Python 3.8 或 3.10

从 __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)

  • 图书信息增删改查
  • 图书状态管理(入库/已借出/丢失)
  • 图书图片上传
  • Excel 批量导入
  • 图书评分
  • 借阅统计

4. 作者管理 (Author)

  • 作者信息管理

5. 出版社管理 (Publish)

  • 出版社信息管理

6. 图书分类管理 (Classification)

  • 图书分类管理

7. 借阅管理 (Audit)

  • 图书借阅申请
  • 借阅审批
  • 归还管理
  • 借阅记录

8. 公告管理 (Notice)

  • 公告发布与管理

环境要求

必需软件

  1. Python
    : 3.7 或更高版本
  2. MySQL
    : 5.7 或更高版本
  3. Redis
    : 5.0 或更高版本

环境配置

  1. MySQL 数据库配置

    • 创建数据库: book_manage

    • 在 settings.py 中修改数据库连接信息:

      HOST = '127.0.0.1'PORT = '3306'DATABASE = 'book_manage'USERNAME = 'root'PASSWORD = 'your_password'
  1. Redis 配置

    • 确保 Redis 服务已启动
    • 默认配置: 127.0.0.1:6379
  2. 前端地址配置

    • 在 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. 启动服务

python app.py

服务将在 http://127.0.0.1:8888 启动(可在 settings.py 中修改端口)。

配置说明

settings.py 主要配置项

配置项
说明
默认值
SERVER_IP
服务监听 IP
127.0.0.1
SERVER_PORT
服务端口
8888
SECRET_KEY
Session 加密密钥
*(%#4sxcz(^(##11223
JWT_ACCESS_TOKEN_EXPIRES
Token 有效期
24小时
JWT_REFRESH_TOKEN_EXPIRES
刷新 Token 有效期
7天
UPLOAD_FOLDER
图片上传目录
./static/images/
EMAIL_SERVER_ADDR
邮件服务器
smtp.qq.com
NOTICE_TYPE
通知类型
0 (关闭)

API 认证

系统使用 JWT (JSON Web Token) 进行身份认证:

  • Token 存储位置: HTTP Header
  • Header 名称: X-Access-Token
  • Token 有效期: 24 小时
  • 刷新 Token 有效期: 7 天

开发说明

代码规范

  • 遵循 PEP 8 代码规范
  • 使用中文注释
  • 模型类位于 apps/<module>/model.py
  • 视图函数位于 apps/<module>/views.py

日志

  • 使用 loguru 进行日志记录
  • 日志文件存储在 logs/ 目录
  • 文件命名格式: YYYY-MM-DD-HH-MM-SS-run.log

常见问题

1. 数据库连接失败

  • 检查 MySQL 服务是否启动
  • 确认 settings.py 中的数据库配置正确
  • 确认数据库 book_manage 已创建

2. Redis 连接失败

  • 检查 Redis 服务是否启动
  • 确认 Redis 端口 6379 未被占用

3. 依赖安装失败

  • 建议使用虚拟环境
  • 尝试升级 pip: pip install --upgrade pip

注意事项

  1. 数据库密码
    : 请务必修改 settings.py 中的数据库密码,不要使用默认密码
  2. 密钥安全
    : 生产环境请修改 SECRET_KEY 和 JWT_SECRET_KEY
  3. 端口配置
    : 修改后端端口后,前端也需要相应修改
  4. 文件上传
    : 确保 static/images/ 目录有写入权限

代码错误检查

经过分析,项目代码结构清晰,没有发现明显的语法错误。项目使用的依赖版本兼容,各模块功能完整。

许可证

本项目仅供学习和研究使用。

最新文章

随机文章