宠物领养系统功能设计
1. 文档说明

1.1 项目概述
宠物领养系统是一个基于 Flask 和 SQLite 开发的 Web 应用,面向宠物领养人和救助站管理员。系统将宠物信息展示、用户注册登录、领养申请、申请进度查询、后台审核及宠物资料维护整合到统一平台中。
1.2 技术环境
| 类别 | 技术 |
|---|---|
| 后端框架 | Python、Flask |
| 页面渲染 | Jinja2、HTML5 |
| 数据存储 | SQLite |
| 用户认证 | Flask Session |
| 密码处理 | Werkzeug 密码哈希 |
| 前端样式 | CSS3、JavaScript |
| 自动化测试 | pytest |
2. 功能范围
2.1 系统包含的功能
- 宠物列表展示
- 按宠物类型、领养状态筛选
- 宠物详情查看
- 用户注册、登录和退出
- 在线提交领养申请
- 查看个人申请记录和审核状态
- 管理员查看全部领养申请
- 管理员通过或拒绝领养申请
- 管理员新增、编辑和删除宠物资料
- 登录状态和角色权限控制
- 操作结果消息提示

3. 用户角色与权限
系统设置访客、普通用户和管理员三类角色。
| 功能 | 访客 | 普通用户 | 管理员 |
|---|---|---|---|
| 浏览宠物列表 | √ | √ | √ |
| 筛选宠物 | √ | √ | √ |
| 查看宠物详情 | √ | √ | √ |
| 注册账号 | √ | --- | --- |
| 登录系统 | √ | --- | --- |
| 退出登录 | --- | √ | √ |
| 提交领养申请 | --- | √ | √ |
| 查看自己的申请 | --- | √ | √ |
| 访问管理后台 | --- | --- | √ |
| 新增宠物 | --- | --- | √ |
| 编辑宠物 | --- | --- | √ |
| 删除宠物 | --- | --- | √ |
| 审核所有申请 | --- | --- | √ |
3.1 访客
访客无需登录即可浏览宠物信息。提交领养申请或访问个人申请页面时,系统要求访客先登录。
3.2 普通用户
普通用户注册并登录后,可以提交领养申请、查看自己的申请记录及审核结果,但不能访问管理后台。
3.3 管理员
管理员除具备登录用户的基本能力外,还可以进入管理后台维护宠物资料并审核全部领养申请。
系统初始化时创建默认管理员:
- 用户名:
admin - 密码:
admin123
该账号仅适合课程演示或本地运行,正式部署时应修改默认密码和系统密钥。









