图书信息与借阅管理系统-flask mysql
项目描述
这是一个面向学校图书室、小型图书馆的 Web 后台管理系统 ,基于 Flask + MySQL + Bootstrap 开发。核心解决三类问题:图书信息的登记与检索、分类管理、以及借出/归还的借阅业务。实现数据库设计、后端接口、前端页面到借还书事务的完整链路。
http://127.0.0.1:5000/
admin 123456
功能描述
管理员登录:登录拦截、退出、密码哈希存储
首页概览:图书总数 / 在馆 / 已借出 / 图书类别 四张统计卡片,最近新增图书与最近借阅动态
图书管理:新增、修改、删除、查看详情;书名/ISBN/作者/编号模糊查询,分类 + 状态多条件筛选,分页展示
分类管理:分类新增、修改、删除(分类下有图书时禁止删除)
借阅管理:借出图书(可借数量 -1)、归还图书(可借数量 +1)、借阅记录查询、借阅中/逾期/已归还筛选
业务规则:
借书使用数据库事务 + SELECT … FOR UPDATE 行锁,防止并发超借
可借数量归零时图书状态自动变为“借出”,归还后恢复“在馆”
借阅中且应还日期早于当天的记录自动标记为“逾期”
存在借阅记录(含历史)的图书不允许删除,建议改为“下架”
编辑馆藏数量时按 新馆藏 – 已借出 自动重算可借数量,保证库存账目一致
运行环境
开发环境pycharm
运行环境 python3.10
项目技术
后端:Python + Flask 3.x + PyMySQL
数据库:MySQL 5.7+(InnoDB / utf8mb4)
前端:HTML5 + CSS3 + JavaScript + Bootstrap 5 + Bootstrap Icons(已内置到 static/vendor,可离线运行)
鉴权:Session + Werkzeug 密码哈希(generate_password_hash / check_password_hash)
以上系统源码经过技术整理与调试,确保能正常运行


