100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Python+Django+Mysql个性化图书推荐系统 图书推荐系统 基于用户 项目 内容的

Python+Django+Mysql个性化图书推荐系统 图书推荐系统 基于用户 项目 内容的

时间:2020-02-10 22:15:45

相关推荐

Python+Django+Mysql个性化图书推荐系统 图书推荐系统 基于用户 项目 内容的

Python+Django+Mysql个性化图书推荐系统 图书在线推荐系统 基于用户、项目、内容的协同过滤推荐算法 WebBookRSM、Python python实现协同过滤推荐算法实现 源代码下载

一、项目简介

1、开发工具和实现技术

Python3.8,Django3,mysql8,navicat数据库管理工具,html页面,javascript脚本,jquery脚本,bootstrap前端框架,layer弹窗组件、webuploader文件上传组件等。

2、项目功能

前台用户包含:注册、登录、注销、浏览图书、搜索图书、信息修改、密码修改、兴趣喜好标签、图书评分、图书收藏、图书评论、热点推荐、个性化推荐图书等功能;

后台管理员包含:用户管理、图书管理、图书类型管理、评分管理、收藏管理、评论管理、兴趣喜好标签管理、权限管理等。

个性化推荐功能:

无论是否登录,在前台首页展示热点推荐(根据图书被收藏数量降序推荐)。登录用户,在前台首页展示个性化推荐,基于用户的协同过滤推荐算法和基于项目的协同过滤推荐算法,根据评分数据,如果没有推荐结果进行喜好标签推荐(随机查找喜好标签下的图书)。

图书数据来源:抓取豆瓣图书数据

需求分析

主要是分析需要实现的功能、确定开发工具及技术等。例如:前台用户需要有登录、注册、注销、搜索图书、图书评分、个性化推荐等,后台管理员需要有登录、注销、用户管理、图书管理、图书类型管理等,个性化推荐使用基于用户的协同过滤推荐算法等。Python开发语言,mysql数据库,django开发框架等。

数据库设计

数据库设计使用navicat数据库管理工具,可通过sql语句脚本生成数据库表,也可以直接操作新建表设计表等。注意主外键关联设计,例如:评分记录表需要外键关联用户表和图书表。

页面设计

使用bootstrap前端框架,通过学习/官方文档和开发案例来设计页面。

开发框架搭建

Django开发框架搭建请参考:使用pycharm创建django项目讲解.doc

功能开发

首先是进行前台用户首页的开发,其次是图书详情,然后是用户注册、登录等,接着是用户的评分、修改信息等,然后是进行管理员功能的开发,最后是进行前台用户的个性化推荐功能实现。

系统测试

主要是进行bug修改,推荐算法测试。

二、项目展示

目 录

1 绪论

1.1 研究背景及意义

1.2国内外研究现状

1.3本文研究内容

2 主要技术及开发工具

2.1推荐算法基础知识

2.2推荐系统理论概述

2.3个性化推荐算法概述

2.4个性化推荐算法分类

2.5Python 功能特点与应用领域

3 系统分析

3.1系统设计流程图

3.2可行性分析

3.3需求分析与模块设计

3.4业务流程分析

3.5数据流程分析

4 系统设计

4.1系统模块分析与设计

4.2数据库设计

4.3数据字典

4.4实体结构设计

5 系统应用实现

5.1系统注册登录

5.2个人信息模块

5.3 用户查询模块

5.4管理员信息模块

6 系统测试

6.1系统推荐代码30

6.2系统测试用例

总结和展望

参考文献

致谢

一、设计思路

先进行需求分析,得出需要实现的功能,

再进行数据库表的设计,数据表通过主外建实现关联关系

然后是页面设计,页面设计使用bootstrap样式

接着是系统代码的开发,基础功能实现后是进行算法实现

二、框架描述

开发框架使用经典的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常规函数,严格按照算法步骤实现(算法步骤代码注释很详细)

1、auth_group:管理员权限管理中的 组表,一个组中可以有多个功能

2、auth_group_permissions:管理员权限管理中的 组权限表,一个组有哪些功能

3、auth_permission:管理员权限管理中的 功能表,

默认的我们添加的每个表都有增删改查功能

4、auth_user:管理员权限管理中的 管理员表

5、auth_user_groups:管理员权限管理中的 管理员组表,即一个管理员在哪个组中

6、auth_user_user_permissions:管理员权限管理中的 管理员权限表,

即一个管理员可以有哪些权限功能

7、django_admin_log:管理员操作日志表,记录管理员的增删改查动作

8、django_content_type:内容类型

9、django_migrations:记录由实体类生成表的信息

10、django_session:前台用户和后台管理员登录的session信息

Python+Django+Mysql个性化图书推荐系统 图书在线推荐系统 基于用户 项目 内容的协同过滤推荐算法(带设计报告)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。