Python+Django+Mysql实现在线电影推荐系统(基于用户、项目的协同过滤推荐算法)
一、项目简介
1、开发工具和实现技术
pycharm2020professional版本,python3.8版本,django3.1.1版本,mysql8.0.21版本,bootstrap样式,javascript脚本,jquery脚本,layer弹窗组件,webuploader文件上传组件
前台首页地址:http://127.0.0.1:8000/
后台首页地址:http://127.0.0.1:8000/admin
管理员账号:admin 管理员密码:admin
前台用户包含:注册、登录、注销、浏览电影、搜索电影、信息修改、密码修改、电影评分、电影收藏、电影评论、热点推荐、个性化推荐电影等功能;
后台管理员包含:用户管理、电影管理、电影类型管理、评分管理、收藏管理、评论管理、权限管理等。
电影数据来源:爬取豆瓣电影数据
个性化推荐功能:
游客(未登录用户),在前台首页展示热点推荐(根据电影被收藏数量降序推荐)
登录用户,在前台首页展示个性化推荐,基于用户的协同过滤推荐算法和基于项目的协同过滤推荐算法,根据评分数据。
2、项目目录
3、数据库
其中auth_group、auth_group_permissions、auth_permission、auth_user、auth_user_groups、auth_user_user_permissions、django_admin_log、django_content_type、django_migrations、django_session这些表是python django自动生成,其中auth_user是管理员表,使用python manage.py makesuperuser命令创建超级管理员,通过超级管理员可以管理其他管理员。auth_group、auth_group_permissions、auth_permission、auth_user_groups、auth_user_user_permissions、django_content_type实现管理员的权限管理,是用户-权限-组模式。django_admin_log表记录管理员操作记录。django_session保存前台和后台的session信息。django_migrations表记录数据库模式更改信息。user、movie、type、record、collection、comment是自定义表。
二、部分代码
1、前台登录
2、前台注册
3、前台首页
4、电影详情
5、基于用户的协同过滤推荐算法
6、基于项目的协同过滤推荐算法
7、项目settings.py配置文件
二、实现界面
1、前台登录
2、前台注册
3、前台首页
4、电影详情
5、个人信息
6、个人信息修改
7、我的评分记录
8、后台登录
9、后台首页
10、后台电影列表
11、后台电影编辑或添加
作者专业长期研究各种协同过滤推荐算法,欢迎留言、私信互相交流学习,后续会不断更新不同的协同过滤推荐算法,欢迎关注。