django+mysql图书推荐系统-计算机毕业设计源码89399
Django book recommendation system
With the continuous updating of the times, the continuous transformation of society, and the rapid development of information technology, computer technology has gradually become mature. Book recommendation system is an indispensable information component for today's society. It can manage a large number of books, a large number of readers, and allow readers to grade books in an orderly manner, greatly reducing workload and improving work efficiency. The book recommendation system studied in this article uses Python programming language, MySQL database, Ajax asynchronous interaction, and other development tools to complete the page design and functional implementation of the main modules of the system. The system is mainly divided into two roles, namely, registered user and administrator. Registered users can log in to query books and score books online. The administrator can log in to manage the addition, deletion, modification, and search of books, users, and categories, as well as manage the classification, information, and grading of books. It can meet the basic functions of small and medium-sized book recommendation systems. Through multiple runs and tests, the system can achieve all the functions at design time.
Key words:Book recommendation system; Python language; MySQL database; Django technology
目录
django图书推荐系统
摘 要
Abstract
第1章 绪论
1.1 研究背景与意义
1.2 开发现状
1.3 研究方法
第2章 相关技术介绍
2.1 Pycharm简介
4.索引功能超强。
2.2 MySQL描述
2.3 Python编程语言
3.维护起来方便:Python的维护简单方便。
6.可移植性好:Python可以跨平台运行。
2.4 Django框架
2.5 B/S体系工作原理
第3章 系统分析
3.1 可行性分析
3.2 功能需求分析
3.2.1 前台用户功能
3.2.2 后台管理员功能
3.3 非功能需求分析
3.4 安全性需求分析
3.4.1 系统的安全性
3.4.2 数据的安全性
3.5 数据流程分析
第4章 系统设计
4.1 系统架构设计
4.2 系统总体设计
4.3 系统功能设计
4.4 数据库设计
4.4.1 数据需求分析
4.4.2 数据库概念设计
4.4.3 数据库表设计
第5章 系统实现
5.1 数据库访问层的实现
jdbc.password=123
5.2 注册模块的实现
5.3 登录模块的实现
5.4 用户资料修改模块的实现
5.5 图书资讯列表模块的实现
5.6 图书信息模块的实现
5.7 图书评分模块的实现
5.8 图书分类列表模块的实现
第6章 系统测试
6.1 测试目的
6.2 功能测试
6.3 性能测试
第7章 总结与展望
参考文献
致谢
在这种情况下,使计算机称为能够有效的提高管理员的管理工作,从而实现对图书管理的自动化,提高效率。系统的实现具有以下意义:
PyCharm是用于Python脚本语言的最流行的IDE。
1.每个文件都有其输出窗口。
2.可以终止进程(只要点下按钮就行)。
3.各种提示超强:①没用的变量颜色会变灰②用错了的变量下面会有红色波浪线③书写提示(sublime也有但较弱)。
现在MySQL数据库在网络上它可以支撑许多个用户,而且也可以适应客服机和服务器的部署或者配置等,我们这里的服务器和客户机其实就是一种软件上的概念,并且我们使用的计算机硬件也与他们不存在一一对应的关系。
优点一:MySQL中对于不同身份的用户都设定其不同的权限来完成不同的业务逻辑,这使得MySQL在安全和完整性远远超出了其他关系型数据库。
优点二:对于那些动画、图形和声音的数据类型MySQL也可以支持,这说明多数据类型MySQL也是可以支持的。
优点三:MySQL还可以做到多个平台的开发,软件开发的多种编程语言都可以实现对MySQL数据库的操作。
Python是一种开发语言,能够以直译的方式进行计算机语言,而且可以面向对象编程。它是由Guido van Rossum在十九世纪八十年代末研发出来,并且在九一年公开发行使用。Python有很多特点,比如有简洁的语法,清晰的语句,丰富的类库。正式由于这些优点,能够非常快速的和其他语言进行结合,来实现各种功能模块。很多人给它起了个外号叫“黏黏胶”语言。使用Python快速生成程序的原型,是现在很多程序员使用的方法。如果其中有比较特殊要求的地方,也非常方便的进行修改。
而且PyQt具有双证,为它能够跨平台运行(例如UNIX,微软和苹果的平台)提供了保证。
使用Python语言之前,要进行平台的安装,用户需要根据不同的平台,下载不同的版本,然后进行环境变量的配置,便可以进行运行。
Python 特点:
1.相对于其他计算机语言来说学习起来比较简单:Python的关键字较少,结构相对简单,语法简单,对于刚学编程语言的人来说更容易上手。
2.阅读起来也相对简单:Python代码结构简洁明了,并在定义上看起来也非常清晰,所以在阅读的过程中更加简单。
4.标准库特别广泛:Python的最大的最大优势是有非常多的库,而且是跨平台的,而且对系统的兼容性很好,比如在UNIX,Windows和Macintosh系统上都能够进行兼容。
5.具有方便的互动模式:有了互动模式的支持,开发者可以从代码就可以看到结果,这样开发者对程序的测试与调试,变的更方便。
7.扩展性非常好的:如果有关键的代码,你可以用特殊的语言进行编写,也能够在系统中调试运行。
Django是一个由Python编写的具有完整架站能力的开源Web框架。使用Django,只要很少的代码,Python的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。
Django本身基于MVC模型,即Model(模型)+View(视图)+ Controller(控制器)设计模式,因此天然具有MVC的出色基因:开发快捷、部署方便、可重用性高、维护成本低等。Python加Django是快速开发、设计、部署网站的最佳组合。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
本次设计基于B/S 模式下,运用基于Python技术采用的是Mysql数据库实现,总体的可行性共分为以下两个方面。
图书资讯浏览:用户可以根据图书类型浏览图书的信息,并选中某个图书类型查看详情,例如:图书编号、图书名称、图书类型,是否推荐等。
维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。
修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。
系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。
数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。
对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。
要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。
系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果。前台和后台的数据连接主要通过数据库,既分别对数据库做不同的操作。
本图书推荐系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。
两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。
图书信息模块:可分为图书资讯、资讯分类两个模块,管理员对图书资讯有维护的权限,发布新的图书资讯、更新已有的资讯信息数据等。
图书管理模块:图书管理分为图书添加、修改和图书出借。图书信息由管理员进行修改、添加、删除操作;图书出借、图书评分由注册用户来执行。
从前面可以分析到数据库中最重要的是图书信息,用户信息,借阅信息,评分信息分析可以得到如下数据描述:
平台用户:用于记录用户的各种信息,包括用户名、密码、姓名、性别、地址、邮箱、联系方式等数据项。
管理员:记录管理员的登录信息。包括用户名,密码,权限等数据项。
图书信息:存放图书的内容,包括图书编号、图书名称、图书类列等数据项。
图书评分:存储用户的评分信息。包括图书编号、图书名称、作者、用户、姓名、评分等数据项。
根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。
图书推荐系统所拥有的数据表有以下:用户信息表,图书分类、图书信息、图书评分表等。
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
token_id |
int |
10 |
0 |
N |
Y |
临时访问牌ID |
|
2 |
token |
varchar |
64 |
0 |
Y |
N |
临时访问牌 |
|
3 |
info |
text |
65535 |
0 |
Y |
N |
||
4 |
maxage |
int |
10 |
0 |
N |
N |
2 |
最大寿命:默认2小时 |
5 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
6 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
7 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户编号: |
表article (文章:用于内容管理系统的文章)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
article_id |
mediumint |
8 |
0 |
N |
Y |
文章id:[0,8388607] |
|
2 |
title |
varchar |
125 |
0 |
N |
Y |
标题:[0,125]用于文章和html的title标签中 |
|
3 |
type |
varchar |
64 |
0 |
N |
N |
0 |
文章分类:[0,1000]用来搜索指定类型的文章 |
4 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数:[0,1000000000]访问这篇文章的人次 |
5 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
6 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
7 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
8 |
source |
varchar |
255 |
0 |
Y |
N |
来源:[0,255]文章的出处 |
|
9 |
url |
varchar |
255 |
0 |
Y |
N |
来源地址:[0,255]用于跳转到发布该文章的网站 |
|
10 |
tag |
varchar |
255 |
0 |
Y |
N |
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 |
|
11 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文:文章的主体内容 |
|
12 |
img |
varchar |
255 |
0 |
Y |
N |
封面图 |
|
13 |
description |
text |
65535 |
0 |
Y |
N |
文章描述 |
表article_type (文章分类)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
type_id |
smallint |
5 |
0 |
N |
Y |
分类ID:[0,10000] |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000]决定分类显示的先后顺序 |
3 |
name |
varchar |
16 |
0 |
N |
N |
分类名称:[2,16] |
|
4 |
father_id |
smallint |
5 |
0 |
N |
N |
0 |
上级分类ID:[0,32767] |
5 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该分类的作用 |
|
6 |
icon |
text |
65535 |
0 |
Y |
N |
分类图标: |
|
7 |
url |
varchar |
255 |
0 |
Y |
N |
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表auth (用户权限管理)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: |
|
2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: |
|
3 |
mod_name |
varchar |
64 |
0 |
Y |
N |
模块名: |
|
4 |
table_name |
varchar |
64 |
0 |
Y |
N |
表名: |
|
5 |
page_title |
varchar |
255 |
0 |
Y |
N |
页面标题: |
|
6 |
path |
varchar |
255 |
0 |
Y |
N |
路由路径: |
|
7 |
position |
varchar |
32 |
0 |
Y |
N |
位置: |
|
8 |
mode |
varchar |
32 |
0 |
N |
N |
_blank |
跳转方式: |
9 |
add |
tinyint |
3 |
0 |
N |
N |
1 |
是否可增加: |
10 |
del |
tinyint |
3 |
0 |
N |
N |
1 |
是否可删除: |
11 |
set |
tinyint |
3 |
0 |
N |
N |
1 |
是否可修改: |
12 |
get |
tinyint |
3 |
0 |
N |
N |
1 |
是否可查看: |
13 |
field_add |
text |
65535 |
0 |
Y |
N |
添加字段: |
|
14 |
field_set |
text |
65535 |
0 |
Y |
N |
修改字段: |
|
15 |
field_get |
text |
65535 |
0 |
Y |
N |
查询字段: |
|
16 |
table_nav_name |
varchar |
500 |
0 |
Y |
N |
跨表导航名称: |
|
17 |
table_nav |
varchar |
500 |
0 |
Y |
N |
跨表导航: |
|
18 |
option |
text |
65535 |
0 |
Y |
N |
配置: |
|
19 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
20 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表book_classification (图书分类)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
book_classification_id |
int |
10 |
0 |
N |
Y |
图书分类ID |
|
2 |
book_category |
varchar |
64 |
0 |
Y |
N |
图书类别 |
|
3 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
4 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表book_grading (图书评分)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
book_grading_id |
int |
10 |
0 |
N |
Y |
图书评分ID |
|
2 |
book_number |
varchar |
64 |
0 |
Y |
N |
图书编号 |
|
3 |
book_name |
varchar |
64 |
0 |
Y |
N |
图书名称 |
|
4 |
author |
varchar |
64 |
0 |
Y |
N |
作者 |
|
5 |
user |
int |
10 |
0 |
Y |
N |
0 |
用户 |
6 |
full_name |
varchar |
64 |
0 |
Y |
N |
姓名 |
|
7 |
score |
varchar |
64 |
0 |
Y |
N |
评分 |
|
8 |
evaluation_content |
text |
65535 |
0 |
Y |
N |
评价内容 |
|
9 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表book_information (图书信息)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
book_information_id |
int |
10 |
0 |
N |
Y |
图书信息ID |
|
2 |
book_number |
varchar |
64 |
0 |
Y |
N |
图书编号 |
|
3 |
book_name |
varchar |
64 |
0 |
Y |
N |
图书名称 |
|
4 |
book_category |
varchar |
64 |
0 |
Y |
N |
图书类别 |
|
5 |
cover |
varchar |
255 |
0 |
Y |
N |
封面 |
|
6 |
author |
varchar |
64 |
0 |
Y |
N |
作者 |
|
7 |
press |
varchar |
64 |
0 |
Y |
N |
出版社 |
|
8 |
content_validity |
text |
65535 |
0 |
Y |
N |
内容简介 |
|
9 |
book_introduction |
longtext |
2147483647 |
0 |
Y |
N |
图书介绍 |
|
10 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
11 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
12 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
13 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
14 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表collect (收藏)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
collect_id |
int |
10 |
0 |
N |
Y |
收藏ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
收藏人ID: |
3 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
4 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
5 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
6 |
title |
varchar |
255 |
0 |
Y |
N |
标题: |
|
7 |
img |
varchar |
255 |
0 |
Y |
N |
封面: |
|
8 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表comment (评论)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
comment_id |
int |
10 |
0 |
N |
Y |
评论ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
评论人ID: |
3 |
reply_to_id |
int |
10 |
0 |
N |
N |
0 |
回复评论ID:空为0 |
4 |
content |
longtext |
2147483647 |
0 |
Y |
N |
内容: |
|
5 |
nickname |
varchar |
255 |
0 |
Y |
N |
昵称: |
|
6 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
9 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
10 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
11 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
表hits (用户点击)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
hits_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
表notice (公告)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
notice_id |
mediumint |
8 |
0 |
N |
Y |
公告id: |
|
2 |
title |
varchar |
125 |
0 |
N |
N |
标题: |
|
3 |
content |
longtext |
2147483647 |
0 |
Y |
N |
正文: |
|
4 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
5 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表praise (点赞)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
praise_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
8 |
status |
bit |
1 |
0 |
N |
N |
1 |
点赞状态:1为点赞,0已取消 |
表registered_users (注册用户)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
registered_users_id |
int |
10 |
0 |
N |
Y |
注册用户ID |
|
2 |
gender |
varchar |
64 |
0 |
Y |
N |
性别 |
|
3 |
age |
varchar |
64 |
0 |
Y |
N |
年龄 |
|
4 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
5 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表slides (轮播图)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
slides_id |
int |
10 |
0 |
N |
Y |
轮播图ID: |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题: |
|
3 |
content |
varchar |
255 |
0 |
Y |
N |
内容: |
|
4 |
url |
varchar |
255 |
0 |
Y |
N |
链接: |
|
5 |
img |
varchar |
255 |
0 |
Y |
N |
轮播图: |
|
6 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击量: |
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
表upload (文件上传)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
upload_id |
int |
10 |
0 |
N |
Y |
上传ID |
|
2 |
name |
varchar |
64 |
0 |
Y |
N |
文件名 |
|
3 |
path |
varchar |
255 |
0 |
Y |
N |
访问路径 |
|
4 |
file |
varchar |
255 |
0 |
Y |
N |
文件路径 |
|
5 |
display |
varchar |
255 |
0 |
Y |
N |
显示顺序 |
|
6 |
father_id |
int |
10 |
0 |
Y |
N |
0 |
父级ID |
7 |
dir |
varchar |
255 |
0 |
Y |
N |
文件夹 |
|
8 |
type |
varchar |
32 |
0 |
Y |
N |
文件类型 |
表user (用户账户:用于保存用户登录信息)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
user_id |
mediumint |
8 |
0 |
N |
Y |
用户ID:[0,8388607]用户获取其他与用户相关的数据 |
|
2 |
state |
smallint |
5 |
0 |
N |
N |
1 |
账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 |
user_group |
varchar |
32 |
0 |
Y |
N |
所在用户组:[0,32767]决定用户身份和权限 |
|
4 |
login_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
上次登录时间: |
5 |
phone |
varchar |
11 |
0 |
Y |
N |
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 |
|
6 |
phone_state |
smallint |
5 |
0 |
N |
N |
0 |
手机认证:[0,1](0未认证|1审核中|2已认证) |
7 |
username |
varchar |
16 |
0 |
N |
N |
用户名:[0,16]用户登录时所用的账户名称 |
|
8 |
nickname |
varchar |
16 |
0 |
Y |
N |
昵称:[0,16] |
|
9 |
password |
varchar |
64 |
0 |
N |
N |
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 |
|
10 |
|
varchar |
64 |
0 |
Y |
N |
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 |
|
11 |
email_state |
smallint |
5 |
0 |
N |
N |
0 |
邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 |
avatar |
varchar |
255 |
0 |
Y |
N |
头像地址:[0,255] |
|
13 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
表user_group (用户组:用于用户前端身份和鉴权)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
group_id |
mediumint |
8 |
0 |
N |
Y |
用户组ID:[0,8388607] |
|
2 |
display |
smallint |
5 |
0 |
N |
N |
100 |
显示顺序:[0,1000] |
3 |
name |
varchar |
16 |
0 |
N |
N |
名称:[0,16] |
|
4 |
description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]描述该用户组的特点或权限范围 |
|
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
8 |
register |
smallint |
5 |
0 |
Y |
N |
0 |
注册位置: |
9 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
10 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
该系统是通过jdbc和MySQL达成连接的,新建一个jdbc.properties文件来填写与数据库连接所需要的驱动和参数。
jdbc.driverClass=com.MySQL.jdbc.Driver
jdbc.url=jdbc:MySQL://localhost:3306/tsi
第一个参数代表MySQL数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。
后台与数据库访问主要是通过HQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
功能描述 |
用于系统登录 |
|
测试目的 |
检测登录时的合法性检查 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
输入的用户名和密码带有非法字符 |
提示用户名或者密码错误 |
与预期结果一致 |
输入的用户名或者密码为空 |
提示用户名或者密码错误 |
与预期结果一致 |
输入的用户名和密码不存在 |
提示用户名或者密码错误 |
与预期结果一致 |
输入正确的用户名和密码 |
登录成功 |
与预期结果一致 |
下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
功能描述 |
用于用户注册 |
|
测试目的 |
检测用户注册时的合法性检查 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
输入的手机号不合法 |
提示请输入正确的手机号码 |
与预期结果一致 |
输入的字段为空 |
提示必填项不能为空 |
与预期结果一致 |
输入的密码少于6位 |
提示密码必须为6-12位 |
与预期结果一致 |
输入的密码大于12位 |
提示密码必须为6-12位 |
与预期结果一致 |
下表是图书管理功能的测试用例,检测了图书管理中对图书信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
功能描述 |
用于图书管理 |
|
测试目的 |
检测图书管理时的各种操作的运行情况 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
点击添加图书,必填项合法输入,点击保存 |
提示添加成功 |
与预期结果一致 |
点击添加图书,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击修改图书,必填项修改为空,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击修改图书,必填项输入不合法,点击保存 |
提示必填项不能为空 |
与预期结果一致 |
点击删除图书,选择图书删除 |
提示删除成功 |
与预期结果一致 |
点击搜索图书,输入存在的图书名 |
查找出图书 |
与预期结果一致 |
点击搜索图书,输入不存在的图书名 |
不显示图书 |
与预期结果一致 |
下表是图书借阅管理功能的测试用例,检测了图书借阅管理中借阅申请的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
功能描述 |
用于图书评分管理 |
|
测试目的 |
检测图书评分管理时各种操作的情况 |
|
测试数据以及操作 |
预期结果 |
实际结果 |
未选择图书,点击提交 |
提示请选择图书 |
与预期结果一致 |
未输入时间,点击提交 |
提示请输入时间 |
与预期结果一致 |
使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。
随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是图书推荐系统为核心展开的,主要是为了实现图书借阅信息化管理和用户在线评分图书的需求。
但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。
参考文献
[1]Wayesa Fikadu,Leranso Mesfin,Asefa Girma,Kedir Abduljebar. Pattern-based hybrid book recommendation system using semantic relationships.[J]. Scientific reports,2023,13(1).
[2]武玲梅,李秋萍,黄秀芳,张立强,董力量,罗芳琼.基于Django框架的电影推荐系统的设计与实现[J].电脑知识与技术,2023,19(04):56-61.DOI:10.14004/j.cnki.ckt.2023.0204.
[3]林正敏,王淑娥,于小亿,韦德泉,杨位兰.基于Django的智慧养老系统设计[J].电脑知识与技术,2023,19(02):25-28.DOI:10.14004/j.cnki.ckt.2023.0099.
[4]花维.基于Hadoop框架与用户行为特征感知的智能图书推荐系统设计[J].电子设计工程,2022,30(24):24-27+32.DOI:10.14022/j.issn1674-6236.2022.24.006.
[5]王子睿,肖忠林,常皓淇,李垚,甘永莹.基于Django的智能货梯系统设计[J].信息与电脑(理论版),2022,34(19):26-28.
[6]Khademizadeh Shahnaz,Nematollahi Zahra,Danesh Farshid. Analysis of book circulation data and a book recommendation system in academic libraries using data mining techniques[J]. Library and Information Science Research,2022,44(4).
[7]洪雅敏.高校数字图书馆智能图书推荐系统设计[J].科技传播,2022,14(18):124-126.DOI:10.16607/j.cnki.1674-6708.2022.18.021.
[8]张佳佳,章宜玉.基于数据挖掘的图书推荐系统的分析与设计[J].信息记录材料,2022,23(09):237-239.DOI:10.16009/j.cnki.cn13-1295/tq.2022.09.010.
[9]华厚强,康佳春.基于Python的校园交易平台设计[J].现代计算机,2022,28(15):105-111.
[10]陈公禹.用户画像在图书推荐系统中的研究[J].科技风,2022(19):55-57.DOI:10.19392/j.cnki.1671-7341.202219019.
[11]Sufyan bin Uzayr. Mastering Django:A Beginner's Guide[M].CRC Press:2022-05-15.
[12]肖伦山. 基于DeepFM混合模型的高校图书推荐系统的设计与实现[D].西南大学,2022.DOI:10.27684/d.cnki.gxndx.2022.002052.
[13]冼远清,张旭新.基于Django的图书推荐系统设计[J].电子技术与软件工程,2022(05):216-219.
[14]柴源.基于Word2vec的图书馆图书推荐系统的实现研究[J].电子设计工程,2022,30(02):7-10+15.DOI:10.14022/j.issn1674-6236.2022.02.002.
[15]马鸿健,张耘凡,陈金,部洪超.高校图书推荐系统设计与实现[J].信息技术与信息化,2021(12):49-52.
[16]王月娥.高校图书馆图书推荐系统中的稀疏性问题实证探析[J].文化创新比较研究,2021,5(35):165-168.
[17]Li Hui chao,Shen Shun fa. Construction of College Students’ Physical Health Data Sharing System Based on Django Framework[J]. Journal of Sensors,2021,2021.
[18]欧卫红,杨永琴.大数据平台下基于Mahout的图书推荐系统研究[J].电脑与电信,2021(09):28-31.DOI:10.15966/j.cnki.dnydx.2021.09.007.
[19]张德青,程锦.高校图书馆个性化图书推荐算法研究[J].西昌学院学报(自然科学版),2021,35(02):78-81.DOI:10.16104/j.issn.1673-1891.2021.02.014.
[20]Dhiman Sarma,Tanni Mittra,Mohammad Shahadat Hossain. Personalized Book Recommendation System using Machine Learning Algorithm[J]. International Journal of Advanced Computer Science and Applications (IJACSA),2021,12(1).
最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
django+mysql图书推荐系统-计算机毕业设计源码89399相关推荐
- django+mysql超市管理系统-计算机毕业设计源码26073
摘要 随着小超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长.超市时时刻刻都需要对商品各种信息进行统计分析.而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率 ...
- springboot+mysql美食推荐系统-计算机毕业设计源码30941
摘要 随着人们生活水平的提高,人们对美食的要求也越来越高,对各类美食信息需求越来越大.因此,结合计算机快速发展.普及,在此基础上制作一个页面简单.美观,功能实用的美食推荐系统势在必行,满足用户分享美食 ...
- 基于java图书个性化推荐系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
基于java图书个性化推荐系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java图书个性化推荐系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 本源码技术栈 ...
- 基于JAVA健康饮食推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA健康饮食推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA健康饮食推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- 基于JAVA专家系统房产营销智能推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA专家系统房产营销智能推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA专家系统房产营销智能推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...
- 基于JAVA大学生专业分配推荐系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA大学生专业分配推荐系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA大学生专业分配推荐系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...
- 基于JAVA用户行为自动化书籍推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA用户行为自动化书籍推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA用户行为自动化书籍推荐系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构 ...
- springboot+mysql机房管理系统-计算机毕业设计源码43362
摘要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代.在 ...
- PHP+mysql商品管理系统-计算机毕业设计源码19895
摘 要 在信息飞速发展的今天,网络已成为人们重要的信息交流平台.商品管理系统每天都有大量的信息需要通过网络来管理,为此,本人开发了一个基于B/S(浏览器/服务器)模式的商品管理系统商品管理平台. 该系 ...
最新文章
- seaborn使用violinplot函数可视化分组小提琴图(Grouped Violinplot with Seaborn violinplot)并保存可视化结果
- Oculus也陷隐私门:向Facebook发送隐私数据
- 登陆窗体与主窗体的跳转 C# (转载自网络)
- Java8 Lamdba表达式 002
- 大地形实时渲染资源网收集
- halcon append_ocr_trainf 将字符添加到训练文件中
- 大话php设计模式视频,大话PHP设计模式
- Java中看今天是星期几,礼拜几
- 李彦宏:百度智能汽车预计2023年和大家见面
- python入门——P45魔法方法:属性访问
- 当技术遇上管理,Linaro 与 CSDN 掌舵人对话开源现状及下一代技术趋势
- android selector(转)
- macOS sierra 10.12 CORE Keygen系列注册机修复工具 CORE Patcher
- doc 问卷调查模板表_问卷调查表.doc
- C#修改内存外挂源码
- win11安装Pandoc
- python基础训练—数字
- dz论坛去掉orum.php,DiscuzX3.4最新论坛漏洞修复解决方案
- 微信公众平台开发(5)--验证消息的确来自微信服务器
- MySQL自动更新当前时间戳