2.1 KiB
2.1 KiB
日记模块需求说明
位置:backend/diary/models.py, frontend/index.html
核心功能 ⭐
📋 后端模型
DiaryEntry 模型
class DiaryEntry(models.Model):
date = DateField(unique=True) # 日期(唯一)
title = CharField(max_length=200) # 标题
completed_tasks = TextField() # 完成的任务
learned = TextField() # 学到的东西
problems = TextField() # 遇到的问题
reflections = TextField() # 想法和反思
improvements = TextField() # 进步点
plans = TextField() # 明日计划
created_at = DateTimeField() # 创建时间
updated_at = DateTimeField() # 更新时间
📋 API 接口
| 接口 | 方法 | 描述 |
|---|---|---|
/api/entries/ |
GET | 获取所有日记 |
/api/entries/{id}/ |
GET | 获取单条日记 |
/api/entries/ |
POST | 创建日记 |
/api/entries/{id}/ |
PUT | 更新日记 |
/api/entries/today/ |
GET | 获取今天日记 |
/api/entries/recent/ |
GET | 最近 7 天日记 |
/api/entries/stats/ |
GET | 统计信息 |
🎨 前端展示
日历视图(主要)
- 有日记的日期显示 📝 标记
- 点击日期显示详情
- 详情包含所有字段
日记列表
- 按日期倒序
- 显示完整内容
🔧 修改指南
可以修改的
- ✅ 添加新字段
- ✅ 修改样式
- ✅ 修改 API 返回格式
- ✅ 添加新的统计维度
不能删除的
- ❌ DiaryEntry 模型
- ❌
/api/entries/相关 API - ❌ 日历组件
- ❌ 日记详情展示
添加新字段时
- 修改
models.py添加字段 - 运行
makemigrations diary - 运行
migrate - 更新
serializers.py - 更新前端展示
- 运行
test_frontend.py diary
🧪 测试清单
修改后必须验证:
- 日历正常显示
- 有日记的日期有 📝 标记
- 点击日期显示详情
- 所有字段正确显示
python3 test_frontend.py diary
此文档必须与代码一起维护