zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【毕业设计_课程设计】 基于Django与协同过滤的电影推荐系统

django系统 基于 推荐 过滤 协同 电影 毕业设计
2023-09-11 14:19:18 时间


0 项目说明

基于Django与协同过滤的电影推荐系统

提示:适合用于课程设计或毕业设计,工作量达标,源码开放


1 主要实现

电影推荐系统——实现用户登录、评分、推荐,采用协同过滤算法

2 系统流程

用户注册、登录系统,对看过的电影进行评分,点击提交评分按钮,再点击查看推荐按钮即可看见推荐的电影列表。项目主页以及推荐结果如下:
在这里插入图片描述
在这里插入图片描述

3 使用方法

1.首先将项目克隆到本地,用Pycharm打开movierecommend文件夹,并install项目依赖
2.将用到的csv文件导入mysql数据表中,详见数据库建表 ,配置好数据库;注意数据库相关代码(settings.py、views.py)可能都要进行修改以符合实际情况;(本项目端口号为3307,用户为root,密码为admin,database为MovieData);
3.命令行执行:

python manage.py makemigrations
python manage.py migrate
python manage.py runserver

点击http://127.0.0.1:8000/ 即可查看注册登录以及评分页面。

注意登录后点击电影海报下面的星星对该电影评分,之后还要点击左上角的“提交评分”按钮才能将该评分数据存入mysql中,否则代码会报错。


3.1 项目依赖

1.Python3.6+django1.11 (python3.5亦可)
2.MySQL5.6
3.Jquery+CSS3+Html5

3.2 数据库建表处理

1.在MySQL中创建一个database,取好名字,比如MovieData;
2.在该数据库中创建moviegenre3和users_resulttable两张表,建表命令行如下:

CREATE TABLE moviegenre3(imdbId INT NOT NULL PRIMARY KEY,title varchar(300),poster varchar(600)); 

3.通过命令行或者navicat等工具将项目data文件夹下的两张csv表分别导入上面创建好的两张table中。由于moviegenre3.csv中的超链接较复杂,建议使用navicat工具导入;users_resulttable表可以使用下面命令行导入:

load data infile "E:/MovieRecommend/data/users_resulttable.csv" into table users_resulttable fields terminated by ',' lines terminated by '\n' (userId,imdbId,rating);

注意,此表没有主键,增加主键操作为:

alter table users_resulttable add column id int auto_increment PRIMARY KEY; 

4 项目源码