Files
diary-system/docs/DIARY.md

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
  • 日历组件
  • 日记详情展示

添加新字段时

  1. 修改 models.py 添加字段
  2. 运行 makemigrations diary
  3. 运行 migrate
  4. 更新 serializers.py
  5. 更新前端展示
  6. 运行 test_frontend.py diary

🧪 测试清单

修改后必须验证:

  • 日历正常显示
  • 有日记的日期有 📝 标记
  • 点击日期显示详情
  • 所有字段正确显示
python3 test_frontend.py diary

此文档必须与代码一起维护