☰
【Python实战】基于FastAPI的绿植养护管理系统 - 完整项目
2026/10/14 2:45:25 网站建设 项目流程

🥂(❁´◡`❁)您的点赞👍➕评论📝➕收藏⭐➕关注👀是作者创作的最大动力🤞

💖📕🎉🔥 支持我:点赞👍+收藏⭐️+留言📝+关注👀欢迎留言讨论

我们常常在当下感到时间慢,觉得未来遥远,但一旦回头看,时间已经悄然流逝。对于未来,尽管如此,也应该保持一种从容的态度,相信未来仍有许多可能性等待着我们。

绿植养护管理系统

一个基于 FastAPI 框架的绿植养护管理 Web 系统,包含完整的后端 API 和前端页面,帮助用户管理自己的植物、记录养护操作,并设置提醒。

功能特性

  • 用户系统:注册、登录、JWT 认证

  • 植物管理:添加、查看、更新、删除植物信息

  • 养护记录:记录浇水、施肥、修剪、换盆等操作

  • 养护提醒:设置周期提醒,自动计算下次提醒日期和逾期状态

  • 前端页面:完整的单页应用(SPA),响应式设计,支持移动端

技术栈

  • 语言:Python 3.10+

  • Web 框架:FastAPI

  • ORM:SQLAlchemy 2.0

  • 数据库:SQLite(开发环境)/ PostgreSQL(生产环境)

  • 认证:JWT(python-jose + passlib)

  • 数据校验:Pydantic v2

安装与启动

1. 安装依赖

pip install -r requirements.txt

2. 启动服务

cd green_plant_manager uvicorn app.main:app --reload

服务将在http://127.0.0.1:8000启动。

3. 访问应用

  • 前端页面: http://127.0.0.1:8000/

  • API 文档: High Performance Web Crawler API - Swagger UI

  • ReDoc: High Performance Web Crawler API - ReDoc

API 端点

认证

方法路径描述
POST/api/auth/register用户注册
POST/api/auth/login用户登录
GET/api/users/me获取当前用户信息(需认证)

植物管理

方法路径描述
GET/api/plants获取我的植物列表(分页)
POST/api/plants添加植物
GET/api/plants/{plant_id}获取植物详情
PUT/api/plants/{plant_id}更新植物信息
DELETE/api/plants/{plant_id}删除植物

养护记录

方法路径描述
GET/api/plants/{plant_id}/records获取某植物的养护记录(分页)
POST/api/plants/{plant_id}/records添加养护记录
DELETE/api/records/{record_id}删除养护记录

养护提醒

方法路径描述
GET/api/reminders获取我的所有提醒
POST/api/reminders创建提醒
PUT/api/reminders/{reminder_id}更新提醒
POST/api/reminders/{reminder_id}/done标记提醒完成
DELETE/api/reminders/{reminder_id}删除提醒

环境变量

变量名描述默认值
DATABASE_URL数据库连接 URLsqlite:///./green_plants.db
SECRET_KEYJWT 密钥super-secret-key-change-in-production

项目结构

green_plant_manager/ ├── app/ │ ├── __init__.py │ ├── main.py # FastAPI 应用入口 │ ├── database.py # 数据库配置 │ ├── models.py # SQLAlchemy 模型 │ ├── schemas.py # Pydantic 模型 │ ├── auth.py # JWT 认证模块 │ ├── crud.py # 数据库 CRUD 操作 │ └── routers/ │ ├── __init__.py │ ├── users.py # 用户路由 │ ├── plants.py # 植物路由 │ ├── records.py # 养护记录路由 │ └── reminders.py # 提醒路由 ├── static/ │ └── index.html # 前端单页应用 ├── requirements.txt └── README.md

前端页面功能

前端页面采用单页应用(SPA)架构,无需刷新即可切换视图:

登录/注册

  • 用户注册:输入用户名、邮箱、密码

  • 用户登录:使用用户名和密码登录

  • Token 自动保存在 localStorage

植物管理

  • 列表视图:卡片式展示所有植物,支持分页

  • 添加植物:填写名称、品种、图片URL、购买日期、位置、备注

  • 编辑植物:点击植物卡片上的编辑按钮

  • 删除植物:级联删除相关养护记录和提醒

  • 详情视图:点击植物卡片查看详情和养护记录

养护记录

  • 查看记录:在植物详情页查看该植物的所有养护记录

  • 添加记录:选择操作类型(浇水/施肥/修剪/换盆/其他),填写日期和备注

  • 删除记录:点击记录旁的删除按钮

养护提醒

  • 创建提醒:选择植物、提醒类型、间隔天数

  • 查看提醒:显示下次提醒日期、是否逾期、启用状态

  • 标记完成:点击"完成"按钮更新上次执行日期

  • 启用/禁用:切换提醒的启用状态

  • 删除提醒:点击删除按钮

注意事项

  • 生产环境请更换强 SECRET_KEY

  • 生产环境建议使用 PostgreSQL 数据库

  • 密码使用 bcrypt 哈希存储

  • 所有需要认证的端点都需要在请求头中携带 JWT token

🥂(❁´◡`❁)您的点赞👍➕评论📝➕收藏⭐➕关注👀是作者创作的最大动力🤞

💖📕🎉🔥 支持我:点赞👍+收藏⭐️+留言📝+关注👀欢迎留言讨论

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询