You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
HanJun27 34295384e7
添加Django音乐平台功能演示视频
2 months ago
.idea v1.0 2 months ago
doc 添加Django音乐平台功能演示视频 2 months ago
src docs: 添加Python编码规范文档 2 months ago
README.md 批量更新:上传所有本地修改文件 2 months ago

README.md

Django音乐平台项目文件位于src文件夹中

一个基于Django框架开发的完整在线音乐播放系统提供音乐播放、用户管理、评论互动、搜索推荐等完整功能。

🎵 功能特性

  • 🎶 在线音乐播放 - 支持MP3格式音频播放
  • 👥 用户管理系统 - 注册、登录、个人中心
  • 💬 互动评论系统 - 歌曲评论和社交互动
  • 🔍 智能搜索 - 按歌曲名、歌手名搜索
  • 📊 音乐排行榜 - 热门搜索、播放、下载排行
  • 📱 响应式设计 - 支持PC和移动端访问
  • 🎨 美观界面 - 现代化的音乐主题设计

🚀 快速开始

环境要求

  • Python 3.7+
  • Django 2.2.5+
  • MySQL 5.7+ 或 SQLite3

安装步骤

  1. 克隆项目
git clone <项目地址>
cd text/src
  1. 创建虚拟环境
python -m venv .venv

# Windows 激活
.venv\Scripts\activate

# Linux/Mac 激活
source .venv/bin/activate
  1. 安装依赖
pip install -r requirements.txt
  1. 数据库配置

选项A: 使用SQLite (推荐开发)

# settings.py 中配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

选项B: 使用MySQL

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'music',
        'USER': 'root',
        'PASSWORD': 'your_password',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}
  1. 数据库初始化
# 创建数据库表
python manage.py makemigrations
python manage.py migrate

# 创建管理员账号
python manage.py createsuperuser
  1. 导入音乐数据
# 自动导入本地音乐文件
python create_music_data.py
  1. 启动服务
python manage.py runserver

访问 http://127.0.0.1:8000 开始使用!

📁 项目结构

music_project/
├── index/          # 首页应用 - 核心功能
├── user/           # 用户管理应用
├── play/           # 音乐播放应用
├── comment/        # 评论系统应用
├── search/         # 搜索功能应用
├── ranking/        # 排行榜应用
├── static/         # 静态文件
│   ├── songFile/   # 音乐文件
│   ├── songImg/    # 专辑封面
│   └── songLyric/  # 歌词文件
├── templates/      # HTML模板
└── music/          # 项目配置

🎯 核心功能

用户系统

  • 用户注册 - 支持用户名、手机号注册
  • 用户登录 - 多种方式登录验证
  • 个人中心 - 播放历史、个人信息管理

音乐播放

  • 在线播放 - 流畅的音乐播放体验
  • 播放列表 - 自动记录播放历史
  • 歌词显示 - 同步歌词展示
  • 歌曲下载 - 支持音乐文件下载

社交功能

  • 评论互动 - 对歌曲发表评论
  • 热门排行 - 多种维度排行榜
  • 搜索推荐 - 智能搜索和推荐

🔧 配置说明

数据库配置

支持MySQL和SQLite数据库settings.py中配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 或 'sqlite3'
        'NAME': 'music',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

静态文件配置

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

自定义用户模型

AUTH_USER_MODEL = 'user.MyUser'

🧪 测试说明

运行测试

# 运行所有测试
python manage.py test

# 运行特定应用测试
python manage.py test index
python manage.py test user

# 生成测试覆盖率报告
coverage run manage.py test
coverage report
coverage html

测试类型

  • 单元测试 - 模型、表单、视图测试
  • 集成测试 - 用户流程、数据库集成测试
  • 性能测试 - 批量操作、查询性能测试

测试数据

测试使用独立数据库,不会影响生产数据。测试数据在setUp方法中自动创建和清理。

📊 API接口

歌曲相关接口

GET  /api/songs/          # 歌曲列表
GET  /api/songs/{id}/     # 歌曲详情
POST /api/songs/{id}/play # 播放歌曲

用户相关接口

POST /api/users/register  # 用户注册
POST /api/users/login     # 用户登录
GET  /api/users/profile   # 用户信息

评论相关接口

GET  /api/comments/song/{song_id}  # 歌曲评论
POST /api/comments/                # 发表评论

🐛 故障排除

常见问题

  1. 数据库连接错误
# 检查MySQL服务
net start mysql

# 验证数据库配置
python manage.py check
  1. 静态文件无法访问
# 检查static配置
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
  1. 音乐文件无法播放
  • 检查文件路径是否正确
  • 验证文件格式支持MP3
  • 检查文件权限
  1. 用户登录问题
  • 检查用户是否激活
  • 验证密码是否正确
  • 检查Session配置

日志查看

# 查看应用日志
tail -f logs/music.log

# Django调试信息
python manage.py runserver --verbosity 2

📈 性能优化

数据库优化

  • 使用select_related减少查询次数
  • 添加适当的数据库索引
  • 使用分页限制数据量

缓存策略

  • 使用Redis缓存热点数据
  • 静态文件CDN加速
  • 数据库查询缓存

🔒 安全配置

安全措施

  • 用户密码加密存储
  • CSRF保护机制
  • XSS攻击防护
  • SQL注入防护

安全建议

  • 定期更新依赖包
  • 使用HTTPS协议
  • 设置强密码策略
  • 定期安全审计

🚀 部署指南

生产环境部署

  1. 配置生产环境设置
  2. 设置DEBUG=False
  3. 配置数据库连接
  4. 收集静态文件
  5. 配置Web服务器

使用uWSGI部署

# 安装uWSGI
pip install uwsgi

# 启动服务
uwsgi --ini uwsgi.ini

使用Docker部署

# Dockerfile示例
FROM python:3.9
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uwsgi", "--ini", "uwsgi.ini"]

🤝 开发贡献

代码规范

  • 遵循PEP 8编码规范
  • 使用类型注解
  • 编写详细的文档字符串
  • 添加适当的单元测试

提交规范

  • 使用清晰的提交信息
  • 一个功能一个提交
  • 提交前运行测试
  • 代码审查流程

📄 许可证

本项目采用MIT许可证。详见LICENSE文件。

👥 开发团队

  • HANJUN - 项目架构设计
  • HANJUN - 核心功能开发
  • HANJUN - 用户系统开发
  • HANJUN - 前端界面设计
  • HANJUN - 测试和文档

📞 技术支持

如有问题或建议,请通过以下方式联系:

  1. 查看本文档的故障排除部分
  2. 检查项目Issue列表
  3. 提交新的Issue描述问题

项目测试&主要二次开发HANJUN 最后更新: 2025年11月
版本: v1.0.0