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

基于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. 依赖安装失败注意事项代码错误检查许可证下载地址百度网盘系统截图项目简介这是一个基于 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)公告发布与管理环境要求必需软件Python: 3.7 或更高版本MySQL: 5.7 或更高版本Redis: 5.0 或更高版本环境配置MySQL 数据库配置创建数据库:book_manage在settings.py中修改数据库连接信息:HOST127.0.0.1PORT3306DATABASEbook_manageUSERNAMErootPASSWORDyour_passwordRedis 配置确保 Redis 服务已启动默认配置:127.0.0.1:6379前端地址配置在settings.py中修改前端地址:VUE_ADDRhttp://127.0.0.1:5173# 开发环境快速开始1. 安装依赖pipinstall-rrequirements.txt2. 配置数据库确保 MySQL 和 Redis 服务已启动并根据需要修改settings.py中的配置。3. 数据库迁移# 初始化迁移首次运行flask db init# 创建迁移脚本flask db migrate-minitial migration# 执行迁移flask db upgrade4. 启动服务python app.py服务将在http://127.0.0.1:8888启动可在settings.py中修改端口。配置说明settings.py 主要配置项配置项说明默认值SERVER_IP服务监听 IP127.0.0.1SERVER_PORT服务端口8888SECRET_KEYSession 加密密钥*(%#4sxcz(^(#$#8423JWT_SECRET_KEYJWT 密钥*(%#4sxcz(^(#$#11223JWT_ACCESS_TOKEN_EXPIRESToken 有效期24小时JWT_REFRESH_TOKEN_EXPIRES刷新 Token 有效期7天UPLOAD_FOLDER图片上传目录./static/images/EMAIL_SERVER_ADDR邮件服务器smtp.qq.comNOTICE_TYPE通知类型0 (关闭)API 认证系统使用 JWT (JSON Web Token) 进行身份认证Token 存储位置: HTTP HeaderHeader 名称:X-Access-TokenToken 有效期: 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注意事项数据库密码: 请务必修改settings.py中的数据库密码不要使用默认密码密钥安全: 生产环境请修改SECRET_KEY和JWT_SECRET_KEY端口配置: 修改后端端口后前端也需要相应修改文件上传: 确保static/images/目录有写入权限代码错误检查经过分析项目代码结构清晰没有发现明显的语法错误。项目使用的依赖版本兼容各模块功能完整。许可证本项目仅供学习和研究使用。