毕业设计–基于Django的歌曲推荐系统和论坛

说明

  1. 新手建议结合pycharm使用,https://www.jetbrains.com/pycharm/,下载专业版试用30天。
  2. 注册普通用户通过web界面来设置,创建创建用户通过creeatsuperuser创建。下文有详细命令
  3. 导入歌曲信息通过insert_movies_script.py来操作 (会删除已有的所有信息!)
  4. 前端展示 浏览最多,评分最多,收藏最多,写的比较直白,你可以改的委婉点: 最热歌曲,火爆排行…之类的。每种有10条。

我猜你喜欢为基于用户推荐,item推荐为基于项目推荐。两种推荐思路下文有介绍

系统采用的技术

前端: bootstrap3 css 框架
后端: django 2.2.1 + sqlite3数据库 (MVC框架)
数据: python异步爬虫从豆瓣top250抓取数据,保存到本地csv文件中
主要功能: 录入图书信息,用户打分,歌曲标签分类,歌曲推荐,歌曲分享,歌曲收藏,后台管理系统。
整体采用MVC架构,前端页面通过django template模板来实现,实现了模板的复用功能。同时前端页面的组织结构较为清晰。

推荐算法思路

通过协调过滤计算和其他用户的距离,然后进行筛选。如果用户数量不足,推荐数目不够15条,就会自动从
所有未打分的歌曲中按照浏览数降序选一部分填充进去。

基于用户的推荐

  1. 用户需要给歌曲打分。通过用户已打分的部分来计算相似度,如果用户未打分,或者没有其他用户,则按照浏览数降序返回。
  2. 通过pearson算法来计算用户之间的距离,找到距离最近的N个用户。将这些用户中已打分的歌曲(且要推荐的用户未看过的部分)返回。

基于item的推荐

  1. 计算物品相似度矩阵: https://www.jianshu.com/p/27b1c035b693
  2. 遍历当前用户已打分的item,计算和未打分的item的相似距离。
  3. 对相似距离进行排序 返回

主要实现的功能

  1. 登录注册页面
  2. 基于协同过滤的歌曲的分类,排序,搜索,打分,排序功能。
  3. 基于协同过滤的周推荐和月推荐
  4. 观影分享会等活动功能,用户报名功能 (需要额外添加)
  5. 发帖留言论坛功能 (要额外添加)
  6. 基于spark的ALS算法 (要额外添加)
  7. Mysql适配
  8. movielens数据集适配

参考链接

推荐算法—协同过滤 - 简书
协同过滤和基于内容推荐有什么区别? - 知乎

fixed

  1. 首页导航栏链接错误
  2. 首页面为空
  3. 登录注册页面
  4. 推荐跳转登录
  5. 周推荐用户没有评分时随机推荐
  6. 按照收藏数量排序
  7. 重新设计了 action 和UserAction model,拆分出了UserAction

歌曲模型

  1. 浏览量 每次刷新页面的浏览数
  2. 收藏量 user manytomany field 每个用户收藏一次
  3. 评分 rate 每个用户评分一次
  4. 在歌曲下面的评论加点赞功能

安装运行方法

安装依赖

  1. 将项目导入pycharm, 在pycharm配置python解释器,3.7及以下都可以。可以通过conda或者其他的虚拟环境来安装
  2. 打开终端 输入pip install -r requirements.txt 若提示无pip。去下载get-pip.py 运行python get-pip.py
  3. 在pip安装过程中如果报错C++ 14依赖问题。则安装c++依赖工具。找不到找我要。如果安装速度过慢,请更换国内镜像https://blog.csdn.net/chenghuikai/article/details/55258957
  4. 安装成功后,进入运行阶段

运行

  1. 运行服务器: python manage.py runserver
  2. 如果无数据,运行项目根目录下的数据迁移脚本 populate开头。
  3. python manage.py createsuperuser 创建超级管理员, (密码输入时终端暂时看不到)
  4. 进入后台: 127.0.0.1:8000/admin

需要获得永久更新和维护支持请联系我
其他问题请联系我

各文件功能

  1. media/ 静态文件存放处,图片
  2. movie/ Django的默认app,负责设置的配置还有url路由,部署等功能
  3. static/ css文件和js文件的存放处
  4. 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模块。
  5. cache_keys.py为缓存的key值名称存放文件,不用管。
  6. db.sqlite3数据库文件
  7. douban_crawler.py 豆瓣爬虫文件
  8. manage.py 运行的主程序,从这里启动
  9. populate_movies_script.py 填充歌曲数据到数据库中
  10. populate_user_rate.py 随机生成用户评分

毕业设计--基于Django的歌曲推荐系统和论坛相关推荐

  1. 基于Django的图书推荐系统和论坛

    基于Django的图书推荐系统和论坛 关注公众号"轻松学编程"回复"图书系统"获取源码 一.基本功能 Demo在线查看 登录注册页面 基于协同过滤的图书的分类, ...

  2. Python基于Django的电影推荐系统和论坛项目完整源码

    前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看.(点击跳转人工智能学习资料) 微信公众号:创享日记 发送:电影论坛 获取完整论文报告+项目源码源文件 ...

  3. Python毕业设计基于django的就业系统项目(含源码)

    目录 一.Python毕业设计基于django的就业系统项目(含源码) 二.基于django的就业系统项目文件说明 一.Python毕业设计基于django的就业系统项目(含源码) 源 码 免 费 下 ...

  4. asp毕业设计——基于asp+sqlserver的WEB社区论坛设计与实现(毕业论文+程序源码)——社区论坛

    基于asp+sqlserver的WEB社区论坛设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的WEB社区论坛设计与实现,文章末尾附有本毕业设计的论文和源码下载地 ...

  5. Python毕业设计基于django的同城绘本馆系统-绘本图书商城(源码+系统+mysql数据库+Lw文档)

    文末获取资源,收藏关注不迷路 文章目录 一.项目介绍 二.主要使用技术 三.研究内容 四.核心代码 五.文章目录 一.项目介绍 本课题设计的目标是实现一个基于web的同城绘本馆.论文使用软件开发的顺序 ...

  6. python毕业设计 基于django框架企业公司网站系统毕业设计设计与实现

    开发环境 开发语言:python:Python版本:3.8.7 开发框架:Django:Django版本:4.x 数据库:mysql:数据库版本:mysql8 数据库管理工具:navicat10+ 开 ...

  7. python毕业设计 基于django框架个人博客系统毕业设计设计与实现

    开发环境 开发语言:python:Python版本:3.8.7 开发框架:Django:Django版本:4.x 数据库:mysql:数据库版本:mysql8 数据库管理工具:navicat10+ 开 ...

  8. python毕业设计基于django框架的个人博客系统的设计与实现 毕设参考

    开发概要 开发语言:python:Python版本:3.8.7 开发框架:Django:Django版本:4.x 数据库:mysql:数据库版本:mysql8 数据库管理工具:navicat10+ 开 ...

  9. python毕业设计 基于django框架新闻信息管理系统毕业设计设计与实现

    开发环境 开发语言:python:Python版本:3.8.7 开发框架:Django:Django版本:4.x 数据库:mysql:数据库版本:mysql8 数据库管理工具:navicat10+ 开 ...

  10. python毕业设计 基于django框架校园鲜花水果商城毕业设计设计与实现

    商城功能概要 首页.分类.商品详情页面,包含加入购物车.收藏商品.立即购买.用户登录.订单管理.地址管理:完整的购物流程,商品的加入.编辑.删除.批量选择,收货地址的选择,下单.会员中心(订单.收藏. ...

最新文章

  1. CLR via C#(第3版):.net中的定时器整理总结
  2. 【NLP】Transformer详解
  3. 学习笔记7-C语言-进制转换、原返补、位运算、函数
  4. leveldb使用指南
  5. python下路径问题及模型存储
  6. php 模板 自定义函数调用,thinkphp模板中使用自定义函数
  7. L1-044 稳赢-PAT团体程序设计天梯赛GPLT
  8. dedecms php用不了,织梦DEDECMS安装360漏洞补丁之后不能够运行PHP代码的问题
  9. PC傻瓜式安装黑苹果并打造成全能逆向工作站--更新至2021.12.20
  10. SourceTree git 工作流
  11. 嵌入式操作系统风云录:历史演进与物联网未来.
  12. 动环监控整体方案,动环监控系统施工方案
  13. 前端开发常用哪些工具软件?
  14. 三面网易,四面阿里,五年开发经验程序员剑指大厂,稳拿offer
  15. Arcgis4js实现链家找房的效果
  16. 中国“中产阶级”只赚钱不读书 被指精神荒芜
  17. 八月十一上午笔记钊哥第一节课
  18. lisp 焊接符号标注_焊接符号标注及表示方法
  19. AddressBook 代码详解
  20. PowerShell 实现批量下载文件

热门文章

  1. Map 综述(三):彻头彻尾理解 ConcurrentHashMap
  2. Codeforces864D(构造水题?)
  3. Kafka-消费者订阅主题和取消订阅
  4. MySQL的数据查询详解
  5. 浙江省高中通用技术高考的发展历程
  6. Webpack知识点
  7. 场景应用移动互联网改革后的品牌营销
  8. 电影票预订与选座系统开发(java源码开源)
  9. ARM Cortex A5 SAMA5D3 (D31) 裸机例程
  10. AR育儿机器人,会是智能母婴市场的…