Python3及以上版本,Django3.6及以上版本,mysql8,navicat数据库管理工具或者sqlyog数据库管理工具,html页面,javascript脚本,jquery脚本,echarts.js可视化图表工具,自定义星星评分功能(使用font-awesome星星图标字体)等。
前台首页地址:http://127.0.0.1:8000/
后台首页地址:http://127.0.0.1:8000/admin
管理员账号:admin 管理员密码:admin
前台用户包含:登录、注册、忘记密码、退出登录、搜索图书、浏览图书、修改信息、密码修改、用户评分、个性化推荐等功能;
后台管理员包含:可视化数据分析、图书类型管理、图书管理、用户管理、用户评分管理、管理员管理等。
个性化推荐:
游客(用户未登录):热门推荐(推荐用户平均评分较高的图书);
用户(用户已登录):基于用户的协同过滤推荐算法,根据用户评分数据, 如果基于用户的协同过滤推荐算法没有推荐结果(冷启动和数据稀疏性问题造成没有推荐结果), 采用热门推荐(推荐用户平均评分较高的图书)。
喜欢这本图书的人也喜欢:
查找与当前图书相同的图书类型下平均评分较高的图书,同时排除当前登录用户评分过的图书。
图书数据来源:爬取豆瓣图书网站
一、设计思路
先进行需求分析,得出需要实现的功能,
再进行数据库表的设计,数据表通过主外建实现关联关系
然后是页面设计,页面设计使用自定义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常规函数,严格按照算法步骤实现(算法步骤代码注释很详细)