Files
web-danmu/.trae/documents/Django弹幕活动应用实现计划.md

4.5 KiB
Raw Permalink Blame History

Django弹幕活动应用实现计划

项目结构

danmu_activity/
├── danmu_activity/          # 项目配置目录
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── activity/                # 主应用
│   ├── __init__.py
│   ├── admin.py
│   ├── apps.py
│   ├── models.py           # 数据库模型
│   ├── views.py            # 视图函数
│   ├── urls.py             # 应用路由
│   ├── utils.py            # 工具函数(如随机祝福语)
│   ├── static/             # 静态文件
│   │   ├── css/
│   │   ├── js/
│   │   └── media/          # 上传的媒体文件
│   └── templates/          # 模板文件
│       ├── activity/
│       └── admin/
├── manage.py
└── requirements.txt

activity/forms.py 定义表单类(提交弹幕表单、活动设置表单、图片上传表单),替代模板原生表单,提升安全性和可维护性


templates/base.html 基础模板(统一页面布局、引入 Bootstrap/jQuery 公共资源,其他模板继承使用) templates/404.html 自定义 404 错误页面(提升用户体验) templates/500.html 自定义 500 错误页面(方便线上问题排查)

数据库设计

1. 活动设置模型ActivitySetting

  • 背景图片ImageField

  • 背景视频FileField

  • 二维码图片ImageField

  • 二维码位置CharFieldtop-left, top-right, bottom-left, bottom-right, center

  • 弹幕字体颜色CharField十六进制颜色码

  • 弹幕背景颜色CharField十六进制颜色码

  • 全局背景颜色CharField十六进制颜色码

2. 祝福语模型Blessing

  • 内容TextField

3. 弹幕消息模型Danmu

  • 姓名CharField

  • 祝福语TextField

  • 图片ImageField, 可选)

  • 审核状态BooleanField默认False未审核

  • 创建时间DateTimeField

视图设计

1. 主页面视图index

  • 显示全屏背景(图片/视频)

  • 显示二维码

  • 实时显示已审核通过的弹幕

2. 扫码提交视图submit

  • 显示表单姓名输入框、祝福语输入框带5条随机推荐、图片上传

  • 提交后保存到数据库,等待审核

3. 管理员审核视图admin_review

  • 显示所有未审核的弹幕

  • 支持通过/不通过审核

4. 设置视图setting

  • 管理员可设置背景图片/视频、二维码图片、位置、弹幕颜色等

5. API视图

  • 获取实时弹幕列表JSON格式

模板设计

1. 主页面模板index.html

  • 全屏布局

  • 背景图片/视频自适应

  • 二维码定位显示

  • 弹幕滚动效果

2. 提交表单模板submit.html

  • 响应式设计,适配手机

  • 表单验证

  • 随机祝福语推荐

  • 图片上传预览

3. 审核页面模板admin_review.html

  • 表格展示待审核弹幕

  • 操作按钮(通过/不通过)

  • 批量审核功能

  • 筛选功能

  • 时间

4. 设置页面模板setting.html

  • 表单设计,支持文件上传

  • 实时预览效果

静态资源

1. CSS

  • 全屏布局样式

  • 弹幕滚动动画

  • 响应式设计

2. JavaScript

  • 实时获取弹幕Ajax轮询

  • 弹幕动画效果,从右向左滑动,多行显示,

  • 考虑到有些弹幕包含图片,计算图片的高度和宽度,不遮挡其它文字弹幕

  • 表单验证和提交

3. 媒体文件

  • 默认背景图片

  • 默认二维码图片

  • 上传的用户图片存储目录

工具函数

1. 随机祝福语生成

  • 从数据库中随机获取5条祝福语

  • 提供几百条预设祝福语

2. 媒体文件处理

  • 图片压缩

  • 视频格式验证

实现步骤

  1. 初始化Django项目
  2. 创建应用和基本模型
  3. 实现管理员后台配置
  4. 添加预设祝福语
  5. 实现扫码提交功能
  6. 实现主页面弹幕显示
  7. 实现管理员审核功能
  8. 实现设置页面
  9. 添加CSS样式和JavaScript交互
  10. 测试和优化

技术栈

  • Django 5.2.9

  • Bootstrap 5前端框架

  • jQuery简化DOM操作

  • SQLite开发环境数据库

安全考虑

  • 图片上传验证和限制

  • 管理员页面权限控制

  • 防止XSS攻击

  • CSRF保护

部署考虑

  • 静态文件和媒体文件的部署

  • 数据库迁移

  • 性能优化(如弹幕缓存)