160 lines
4.2 KiB
Markdown
160 lines
4.2 KiB
Markdown
|
|
# Django弹幕活动系统
|
|||
|
|
|
|||
|
|
## 项目简介
|
|||
|
|
|
|||
|
|
这是一个基于Django框架开发的弹幕活动系统,用于在活动现场展示实时弹幕消息。系统支持用户扫码提交弹幕,管理员审核后在主页面展示。
|
|||
|
|
|
|||
|
|
## 主要功能
|
|||
|
|
|
|||
|
|
1. **活动设置**
|
|||
|
|
- 支持上传背景图片或视频
|
|||
|
|
- 支持上传二维码图片并设置位置
|
|||
|
|
- 支持自定义弹幕字体颜色和背景颜色
|
|||
|
|
- 支持设置全局背景颜色
|
|||
|
|
|
|||
|
|
2. **弹幕提交**
|
|||
|
|
- 用户扫码进入提交页面
|
|||
|
|
- 支持输入姓名和祝福语
|
|||
|
|
- 支持上传图片
|
|||
|
|
- 提供随机祝福语参考
|
|||
|
|
|
|||
|
|
3. **弹幕审核**
|
|||
|
|
- 管理员可查看待审核弹幕
|
|||
|
|
- 支持审核通过或拒绝弹幕
|
|||
|
|
- 按时间倒序展示待审核弹幕
|
|||
|
|
|
|||
|
|
4. **弹幕展示**
|
|||
|
|
- 主页面实时展示已审核的弹幕
|
|||
|
|
- 支持展示图片弹幕
|
|||
|
|
- 按时间倒序展示弹幕
|
|||
|
|
|
|||
|
|
5. **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+
|
|||
|
|
|
|||
|
|
### 安装步骤
|
|||
|
|
|
|||
|
|
1. 克隆项目到本地
|
|||
|
|
|
|||
|
|
2. 进入项目目录
|
|||
|
|
|
|||
|
|
3. 创建虚拟环境(可选)
|
|||
|
|
```bash
|
|||
|
|
python -m venv venv
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. 激活虚拟环境
|
|||
|
|
- Windows:
|
|||
|
|
```bash
|
|||
|
|
venv\Scripts\activate
|
|||
|
|
```
|
|||
|
|
- Linux/macOS:
|
|||
|
|
```bash
|
|||
|
|
source venv/bin/activate
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
5. 安装依赖
|
|||
|
|
```bash
|
|||
|
|
pip install -r requirements.txt
|
|||
|
|
```
|
|||
|
|
(注:如果没有requirements.txt文件,可运行`pip install django`安装Django)
|
|||
|
|
|
|||
|
|
6. 数据库迁移
|
|||
|
|
```bash
|
|||
|
|
python manage.py migrate
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
7. 创建超级用户(可选,用于后台管理)
|
|||
|
|
```bash
|
|||
|
|
python manage.py createsuperuser
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
8. 添加默认数据
|
|||
|
|
```bash
|
|||
|
|
python add_default_blessings.py
|
|||
|
|
python create_setting.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
9. 运行开发服务器
|
|||
|
|
```bash
|
|||
|
|
python manage.py runserver
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
10. 访问项目
|
|||
|
|
- 主页面:http://localhost:8000
|
|||
|
|
- 扫码提交页面:http://localhost:8000/submit
|
|||
|
|
- 管理员审核页面:http://localhost:8000/admin-review
|
|||
|
|
- 活动设置页面:http://localhost:8000/setting
|
|||
|
|
- 弹幕API:http://localhost:8000/api/danmu
|
|||
|
|
|
|||
|
|
## 使用说明
|
|||
|
|
|
|||
|
|
1. **活动前准备**
|
|||
|
|
- 进入活动设置页面(/setting)上传背景图片/视频和二维码图片
|
|||
|
|
- 根据需要调整二维码位置和弹幕样式
|
|||
|
|
|
|||
|
|
2. **活动现场**
|
|||
|
|
- 在大屏幕上展示主页面(/)
|
|||
|
|
- 用户扫码进入提交页面(/submit)提交弹幕
|
|||
|
|
- 管理员在后台实时审核弹幕(/admin-review)
|
|||
|
|
|
|||
|
|
3. **活动结束**
|
|||
|
|
- 可通过后台管理查看所有弹幕数据
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. 建议在生产环境中使用MySQL或PostgreSQL数据库
|
|||
|
|
2. 建议配置静态文件和媒体文件的CDN加速
|
|||
|
|
3. 建议定期备份数据库和媒体文件
|
|||
|
|
4. 生产环境中请修改SECRET_KEY和DEBUG设置
|
|||
|
|
|
|||
|
|
## 许可证
|
|||
|
|
|
|||
|
|
本项目采用MIT许可证。
|