Django弹幕活动系统
项目简介
这是一个基于Django框架开发的弹幕活动系统,用于在活动现场展示实时弹幕消息。系统支持用户扫码提交弹幕,管理员审核后在主页面展示。
主要功能
-
活动设置
- 支持上传背景图片或视频
- 支持上传二维码图片并设置位置
- 支持自定义弹幕字体颜色和背景颜色
- 支持设置全局背景颜色
-
弹幕提交
- 用户扫码进入提交页面
- 支持输入姓名和祝福语
- 支持上传图片
- 提供随机祝福语参考
-
弹幕审核
- 管理员可查看待审核弹幕
- 支持审核通过或拒绝弹幕
- 按时间倒序展示待审核弹幕
-
弹幕展示
- 主页面实时展示已审核的弹幕
- 支持展示图片弹幕
- 按时间倒序展示弹幕
-
API接口
- 提供获取实时弹幕的API接口
- 支持获取最近50条已审核弹幕
技术栈
- 后端框架:Django
- 数据库:SQLite3
- 前端技术:HTML、CSS、JavaScript
- 图片存储:本地文件系统
项目结构
弹幕活动/
├── activity/ # 活动应用
│ ├── migrations/ # 数据库迁移文件
│ ├── templates/ # 模板文件
│ ├── __init__.py
│ ├── admin.py # 后台管理配置
│ ├── apps.py # 应用配置
│ ├── forms.py # 表单定义
│ ├── models.py # 数据模型
│ ├── tests.py # 测试文件
│ ├── urls.py # 路由配置
│ ├── utils.py # 工具函数
│ └── views.py # 视图函数
├── danmu_activity/ # 项目配置
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py # 项目设置
│ ├── urls.py # 项目路由
│ └── wsgi.py
├── media/ # 媒体文件存储
│ └── activity_media/ # 活动媒体文件
├── add_default_blessings.py # 添加默认祝福语脚本
├── add_test_danmus.py # 添加测试弹幕脚本
├── create_setting.py # 创建活动设置脚本
├── db.sqlite3 # SQLite数据库文件
├── manage.py # Django管理脚本
└── .gitignore # Git忽略配置
安装与运行
环境要求
- Python 3.7+
- Django 3.0+
安装步骤
-
克隆项目到本地
-
进入项目目录
-
创建虚拟环境(可选)
python -m venv venv -
激活虚拟环境
- Windows:
venv\Scripts\activate - Linux/macOS:
source venv/bin/activate
- Windows:
-
安装依赖
pip install -r requirements.txt(注:如果没有requirements.txt文件,可运行
pip install django安装Django) -
数据库迁移
python manage.py migrate -
创建超级用户(可选,用于后台管理)
python manage.py createsuperuser -
添加默认数据
python add_default_blessings.py python create_setting.py -
运行开发服务器
python manage.py runserver -
访问项目
- 主页面:http://localhost:8000
- 扫码提交页面:http://localhost:8000/submit
- 管理员审核页面:http://localhost:8000/admin-review
- 活动设置页面:http://localhost:8000/setting
- 弹幕API:http://localhost:8000/api/danmu
使用说明
-
活动前准备
- 进入活动设置页面(/setting)上传背景图片/视频和二维码图片
- 根据需要调整二维码位置和弹幕样式
-
活动现场
- 在大屏幕上展示主页面(/)
- 用户扫码进入提交页面(/submit)提交弹幕
- 管理员在后台实时审核弹幕(/admin-review)
-
活动结束
- 可通过后台管理查看所有弹幕数据
注意事项
- 建议在生产环境中使用MySQL或PostgreSQL数据库
- 建议配置静态文件和媒体文件的CDN加速
- 建议定期备份数据库和媒体文件
- 生产环境中请修改SECRET_KEY和DEBUG设置
许可证
本项目采用MIT许可证。
Description
Languages
Python
68.7%
HTML
31.3%