毕业设计--基于Django的歌曲推荐系统和论坛
毕业设计–基于Django的歌曲推荐系统和论坛
说明
- 新手建议结合pycharm使用,https://www.jetbrains.com/pycharm/,下载专业版试用30天。
- 注册普通用户通过web界面来设置,创建创建用户通过creeatsuperuser创建。下文有详细命令
- 导入歌曲信息通过insert_movies_script.py来操作 (会删除已有的所有信息!)
- 前端展示 浏览最多,评分最多,收藏最多,写的比较直白,你可以改的委婉点: 最热歌曲,火爆排行…之类的。每种有10条。
我猜你喜欢为基于用户推荐,item推荐为基于项目推荐。两种推荐思路下文有介绍
系统采用的技术
前端: bootstrap3 css 框架
后端: django 2.2.1 + sqlite3数据库 (MVC框架)
数据: python异步爬虫从豆瓣top250抓取数据,保存到本地csv文件中
主要功能: 录入图书信息,用户打分,歌曲标签分类,歌曲推荐,歌曲分享,歌曲收藏,后台管理系统。
整体采用MVC架构,前端页面通过django template模板来实现,实现了模板的复用功能。同时前端页面的组织结构较为清晰。
推荐算法思路
通过协调过滤计算和其他用户的距离,然后进行筛选。如果用户数量不足,推荐数目不够15条,就会自动从
所有未打分的歌曲中按照浏览数降序选一部分填充进去。
基于用户的推荐
- 用户需要给歌曲打分。通过用户已打分的部分来计算相似度,如果用户未打分,或者没有其他用户,则按照浏览数降序返回。
- 通过pearson算法来计算用户之间的距离,找到距离最近的N个用户。将这些用户中已打分的歌曲(且要推荐的用户未看过的部分)返回。
基于item的推荐
- 计算物品相似度矩阵: https://www.jianshu.com/p/27b1c035b693
- 遍历当前用户已打分的item,计算和未打分的item的相似距离。
- 对相似距离进行排序 返回
主要实现的功能
- 登录注册页面
- 基于协同过滤的歌曲的分类,排序,搜索,打分,排序功能。
- 基于协同过滤的周推荐和月推荐
- 观影分享会等活动功能,用户报名功能 (需要额外添加)
- 发帖留言论坛功能 (要额外添加)
- 基于spark的ALS算法 (要额外添加)
- Mysql适配
- movielens数据集适配
参考链接
推荐算法—协同过滤 - 简书
协同过滤和基于内容推荐有什么区别? - 知乎
fixed
- 首页导航栏链接错误
- 首页面为空
- 登录注册页面
- 推荐跳转登录
- 周推荐用户没有评分时随机推荐
- 按照收藏数量排序
- 重新设计了 action 和UserAction model,拆分出了UserAction
歌曲模型
- 浏览量 每次刷新页面的浏览数
- 收藏量 user manytomany field 每个用户收藏一次
- 评分 rate 每个用户评分一次
- 在歌曲下面的评论加点赞功能
安装运行方法
安装依赖
- 将项目导入pycharm, 在pycharm配置python解释器,3.7及以下都可以。可以通过conda或者其他的虚拟环境来安装
- 打开终端 输入pip install -r requirements.txt 若提示无pip。去下载get-pip.py 运行python get-pip.py
- 在pip安装过程中如果报错C++ 14依赖问题。则安装c++依赖工具。找不到找我要。如果安装速度过慢,请更换国内镜像https://blog.csdn.net/chenghuikai/article/details/55258957
- 安装成功后,进入运行阶段
运行
- 运行服务器: python manage.py runserver
- 如果无数据,运行项目根目录下的数据迁移脚本 populate开头。
- python manage.py createsuperuser 创建超级管理员, (密码输入时终端暂时看不到)
- 进入后台: 127.0.0.1:8000/admin
需要获得永久更新和维护支持请联系我
其他问题请联系我
各文件功能
- media/ 静态文件存放处,图片
- movie/ Django的默认app,负责设置的配置还有url路由,部署等功能
- static/ css文件和js文件的存放处
- user/ 主app,程序的所有代码基本都在这下面 user/migrations为自动生成的数据库迁移文件 user/templates为前端页面模板文件,
user/admins.py 为管理员后台代码 user/forms.py为前端表单代码 user/models.py为数据库orm模型 user/serializers.py为restful文件,不用管。 user/urls为路由注册文件。 user/views为负责处理前端请求和与后端数据库交互的模块,也就是controller模块。 - cache_keys.py为缓存的key值名称存放文件,不用管。
- db.sqlite3数据库文件
- douban_crawler.py 豆瓣爬虫文件
- manage.py 运行的主程序,从这里启动
- populate_movies_script.py 填充歌曲数据到数据库中
- populate_user_rate.py 随机生成用户评分
毕业设计--基于Django的歌曲推荐系统和论坛相关推荐
- 基于Django的图书推荐系统和论坛
基于Django的图书推荐系统和论坛 关注公众号"轻松学编程"回复"图书系统"获取源码 一.基本功能 Demo在线查看 登录注册页面 基于协同过滤的图书的分类, ...
- Python基于Django的电影推荐系统和论坛项目完整源码
前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看.(点击跳转人工智能学习资料) 微信公众号:创享日记 发送:电影论坛 获取完整论文报告+项目源码源文件 ...
- Python毕业设计基于django的就业系统项目(含源码)
目录 一.Python毕业设计基于django的就业系统项目(含源码) 二.基于django的就业系统项目文件说明 一.Python毕业设计基于django的就业系统项目(含源码) 源 码 免 费 下 ...
- asp毕业设计——基于asp+sqlserver的WEB社区论坛设计与实现(毕业论文+程序源码)——社区论坛
基于asp+sqlserver的WEB社区论坛设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的WEB社区论坛设计与实现,文章末尾附有本毕业设计的论文和源码下载地 ...
- Python毕业设计基于django的同城绘本馆系统-绘本图书商城(源码+系统+mysql数据库+Lw文档)
文末获取资源,收藏关注不迷路 文章目录 一.项目介绍 二.主要使用技术 三.研究内容 四.核心代码 五.文章目录 一.项目介绍 本课题设计的目标是实现一个基于web的同城绘本馆.论文使用软件开发的顺序 ...
- python毕业设计 基于django框架企业公司网站系统毕业设计设计与实现
开发环境 开发语言:python:Python版本:3.8.7 开发框架:Django:Django版本:4.x 数据库:mysql:数据库版本:mysql8 数据库管理工具:navicat10+ 开 ...
- python毕业设计 基于django框架个人博客系统毕业设计设计与实现
开发环境 开发语言:python:Python版本:3.8.7 开发框架:Django:Django版本:4.x 数据库:mysql:数据库版本:mysql8 数据库管理工具:navicat10+ 开 ...
- python毕业设计基于django框架的个人博客系统的设计与实现 毕设参考
开发概要 开发语言:python:Python版本:3.8.7 开发框架:Django:Django版本:4.x 数据库:mysql:数据库版本:mysql8 数据库管理工具:navicat10+ 开 ...
- python毕业设计 基于django框架新闻信息管理系统毕业设计设计与实现
开发环境 开发语言:python:Python版本:3.8.7 开发框架:Django:Django版本:4.x 数据库:mysql:数据库版本:mysql8 数据库管理工具:navicat10+ 开 ...
- python毕业设计 基于django框架校园鲜花水果商城毕业设计设计与实现
商城功能概要 首页.分类.商品详情页面,包含加入购物车.收藏商品.立即购买.用户登录.订单管理.地址管理:完整的购物流程,商品的加入.编辑.删除.批量选择,收货地址的选择,下单.会员中心(订单.收藏. ...
最新文章
- CLR via C#(第3版):.net中的定时器整理总结
- 【NLP】Transformer详解
- 学习笔记7-C语言-进制转换、原返补、位运算、函数
- leveldb使用指南
- python下路径问题及模型存储
- php 模板 自定义函数调用,thinkphp模板中使用自定义函数
- L1-044 稳赢-PAT团体程序设计天梯赛GPLT
- dedecms php用不了,织梦DEDECMS安装360漏洞补丁之后不能够运行PHP代码的问题
- PC傻瓜式安装黑苹果并打造成全能逆向工作站--更新至2021.12.20
- SourceTree git 工作流
- 嵌入式操作系统风云录:历史演进与物联网未来.
- 动环监控整体方案,动环监控系统施工方案
- 前端开发常用哪些工具软件?
- 三面网易,四面阿里,五年开发经验程序员剑指大厂,稳拿offer
- Arcgis4js实现链家找房的效果
- 中国“中产阶级”只赚钱不读书 被指精神荒芜
- 八月十一上午笔记钊哥第一节课
- lisp 焊接符号标注_焊接符号标注及表示方法
- AddressBook 代码详解
- PowerShell 实现批量下载文件