Python+Django+Mysql开发简单在线课程推荐系统简单教程 基于用户的协同过滤推荐算法 个性化课程推荐系统 爬虫 可视化数据分析 机器学习 人工智能 个性化推荐 相关推荐SimpleCourseRecSystemPy

一、项目简介

1、开发工具和使用技术

Python3及以上版本,Django3.6及以上版本,mysql8,navicat数据库管理工具或者sqlyog数据库管理工具,html页面,javascript脚本,jquery脚本,echarts.js可视化图表工具,自定义星星评分功能(使用font-awesome星星图标字体)等。

2、实现功能

前台首页地址:http://127.0.0.1:8000/
后台首页地址:http://127.0.0.1:8000/admin
管理员账号:admin 管理员密码:admin

前台用户包含:登录、注册、忘记密码、退出登录、搜索课程、浏览课程、修改信息、密码修改、用户评分、个性化推荐等功能;

后台管理员包含:可视化数据分析、课程类型管理、课程管理、用户管理、用户评分管理、管理员管理等。

个性化推荐:
游客(用户未登录):热门推荐(推荐用户平均评分较高的课程);
用户(用户已登录):基于用户的协同过滤推荐算法,根据用户评分数据, 如果基于用户的协同过滤推荐算法没有推荐结果(冷启动和数据稀疏性问题造成没有推荐结果), 采用热门推荐(推荐用户平均评分较高的课程)。

喜欢这个课程的人也喜欢:
查找与当前课程相同的课程类型下平均评分较高的课程,同时排除当前登录用户评分过的课程。

课程数据来源:爬取中国大学慕课网站

3、开发步骤

一、设计思路
先进行需求分析,得出需要实现的功能,
再进行数据库表的设计,数据表通过主外建实现关联关系
然后是页面设计,页面设计使用自定义html样式
接着是系统代码的开发,基础功能实现后是进行算法实现

二、框架描述
开发框架使用经典的django框架,这也是python web开发的主流框架
采用了MTV的框架模式,即模型M,视图V和模版T,
通过pycharm创建一个新的django框架项目,pycharm会生成django的基本配置,
直接运行后就可以在浏览器访问django默认首页
我们只是在生成的框架中添加自定义模块功能

django框架工作流程
1、用manage .py runserver 启动Django服务器时就载入了在同一目录下的settings.py。
该文件包含了项目中的配置信息,如前面讲的URLConf等,
其中最重要的配置就是ROOT_URLCONF,
它告诉Django哪个Python模块应该用作本站的URLConf,
默认的是urls.py
2、当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。
3、然后按顺序逐个匹配URLConf里的URLpatterns。
如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)
4、最后该view函数负责返回一个HttpResponse对象。

三、数据库的设计
数据库设计是使用navicat来创建,操作非常简便

四、算法的实现都是使用python常规函数,严格按照算法步骤实现(算法步骤代码注释很详细)

二、项目展示





















三、代码展示及运行结果








专业长期研究java、python推荐算法(基于内容、协同过滤、关联规则、机器学习等)、大数据等,欢迎留言、私信互相交流学习,后续会不断更新,欢迎关注。