系统架构
– 前端 :基于 Flask 模板引擎(Jinja2)渲染的 HTML 页面,采用响应式设计
– 后端 :Python Flask 框架,提供 RESTful 风格的路由接口
– 数据库 :MySQL 数据库,存储交易记录和分类信息
– 技术栈 :
– Python 3.8+
– Flask 3.0.0
– MySQL Connector/Python 8.2.0
– Werkzeug 3.0.1
### 核心功能
1. 仪表盘与汇总
– 实时展示本月收入、支出和结余
– 最近 10 条交易记录快速查看
– 提供月度财务概览
2. 收支记录管理
– 支持新增、编辑、删除收支记录
– 提供按类型(收入/支出)和日期范围的筛选功能
– 支出自动转换为负数存储,确保数据准确性
3. 分类管理
– 支持收入和支出分类的增删改查
– 分类删除时自动检查关联交易记录,确保数据一致性
– 分类列表按类型和名称排序,方便查看
4. 报表分析
– 按分类统计月度收支情况
– 支持切换不同月份查看历史数据
– 自动计算收入和支出总额,提供直观的财务分析
### 技术实现特点
1. 数据库操作封装
– 使用上下文管理器管理数据库连接,确保资源正确释放
– 封装了查询、更新、插入等常用数据库操作函数
– 支持参数化查询,防止 SQL 注入攻击
2. 错误处理机制
– 全面的异常捕获与处理
– 用户友好的错误提示信息
– 数据库连接失败时的优雅降级处理
3. 安全性考虑
– 设置了安全的 SECRET_KEY 用于会话管理
– 表单数据验证,确保数据完整性
– 参数化 SQL 查询,防止注入攻击
4. 用户体验优化
– 清晰的导航结构
– 操作成功/失败的即时反馈
– 表单数据预填充,减少用户重复输入
### 系统配置与部署
– 数据库配置 :通过 config.py 文件可灵活配置 MySQL 连接参数
– 运行方式 :直接执行 python app.py 启动开发服务器
– 访问地址 :默认通过 http://127.0.0.1:5000 访问
### 应用场景
– 个人日常财务管理 :记录每日收支,掌握消费动态
– 家庭财务规划 :分析家庭支出结构,优化消费习惯
– 小型商户记账 :简单记录 business 收支,生成基础财务报表
