基于Django+协同过滤算法的歌曲推荐系统-Django+协同过滤算法
基于Django+协同过滤算法的歌曲推荐系统
## 项目描述
基于 Django + 协同过滤算法的歌曲推荐系统,提供歌曲浏览、检索、评分与个性化推荐功能,附带用户中心与评论互动模块。后端基于 Pearson 用户相似度和 Item-CF 余弦相似度两种算法生成推荐结果,数据来自网易云爬取的 4356 首歌曲及随机生成的 2000 用户评分。
后台管理访问信息
登录地址 http://127.0.0.1:8000/admin/ 账号 admin 密码 admin123456
用户访问信息
http://127.0.0.1:8000/ 账号 test111 密码 123456
## 项目功能
– 用户注册、登录、修改密码、个人信息维护
– 歌曲浏览:全部歌曲、浏览最多、评分最多、收藏最多、最新歌曲、分类浏览
– 歌曲检索:按歌名、歌手、歌词模糊搜索
– 歌曲详情:封面展示、标签、评分、收藏、评论与点赞
– 个性化推荐:基于用户的「我猜你喜欢」(User-CF)、基于物品的「Item 推荐」(Item-CF)
– 用户中心:我的收藏、我的评分、我的评论,可删除记录
– 后台管理:Django Admin + SimpleUI 管理歌曲、用户、评分、评论
## 运行环境
– 操作系统:Windows / Linux / macOS(已适配 Windows 缓存路径)
– Python:3.7–3.11(实测 3.11.9 可用)
– Django:2.2.1(实测 4.2.11 也可运行)
– 数据库:SQLite3(默认)/ MySQL(settings 内已预留配置)
– 浏览器:现代浏览器,需联网加载 Bootstrap 3 CDN
## 项目技术
– 前端:Bootstrap 3.4 + jQuery 3.6 + 自定义 CSS 主题(靛紫卡片风),Django Template 模板继承
– 后端:Django MVC,URL 路由分发,session 鉴权装饰器
– 数据模型:User / Music / Tags / Rate / Comment 五张核心表
– 推荐算法:Pearson 相似度的 User-CF、共现矩阵余弦相似度的 Item-CF,不足 15 条按浏览量降序补齐
– 缓存:Django FileBasedCache,按用户缓存推荐结果 5 分钟
– 数据填充:CSV 批量导入歌曲 + 脚本随机生成 2000 用户评分
– 后台:Django Admin + SimpleUI
以上系统源码经过技术整理与调试,确保能正常运行


