# 日记模块需求说明 _位置:`backend/diary/models.py`, `frontend/index.html` 核心功能 ⭐_ --- ## 📋 后端模型 ### DiaryEntry 模型 ```python 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 - ❌ 日历组件 - ❌ 日记详情展示 ### 添加新字段时 1. 修改 `models.py` 添加字段 2. 运行 `makemigrations diary` 3. 运行 `migrate` 4. 更新 `serializers.py` 5. 更新前端展示 6. 运行 `test_frontend.py diary` --- ## 🧪 测试清单 修改后必须验证: - [ ] 日历正常显示 - [ ] 有日记的日期有 📝 标记 - [ ] 点击日期显示详情 - [ ] 所有字段正确显示 ```bash python3 test_frontend.py diary ``` --- _此文档必须与代码一起维护_