基于Python+sqlite3实现(Web)图书管理系统【100010049】

news2025/1/17 15:45:20

*项目名称:图书管理系统 (LibraryManagementSystem)

一、系统目标

使用了Python作为语言,以django为后台,sqlite3作为数据库,UI基于bootstrap的图书管理系统,模拟图书管理的真实场景,考虑客观需求,界面简洁、操作方便,易上手。

二、系统功能

在这里插入图片描述

第二部分 系统设计报告

一、系统概念数据库设计

系统E-R图设计:

在这里插入图片描述

二、系统逻辑数据库设计

//User(用户表)

字段类型默认注释
user_idvarchar(20)用户id
user_namevarchar(50)姓名
sexvarchar(1)0性别男(0)女(1)
passwordvarchar(200)密码
emailvarchar(50)邮箱
last_visitdatetime最后访问时间(开户时登记开户时间)
is_superuservarchar(1)是否超级用户
is_activevarchar(1)是否活跃
Rolevarchar(20)角色

//PermissionList(权限等级,根据不同的权限访问不同的url)

字段类型默认注释
PermissionNamevarchar(5)权限名
Urlvarchar(50)路径

//RoleList(角色表,不同的角色拥有不同的permission)

字段类型默认注释
RoleNamevarchar(20)角色名
PermissionNamevarchar(50)权限
uesrnamevarchar(50)用户名

//Book

字段类型默认注释
book_idvarchar(20)书籍id
book_namevarchar(50)书籍名称
authorvarchar(50)作者
pressvarchar(50)出版社
publication_yearsmallint(6)出版年
introductionvarchar(1000)介绍
add_timedatetime入库时间
category_idvarchar(20)类型
countstinyint(4)剩余数量
InventoryInt入库数量

//Borrow(借书表)

字段类型默认注释
borrow_idvarchar(60)user_id+now_time
user_idvarchar(20)用户id
book_idvarchar(40)书籍id+rank
borrow_datedatetime借书时间
return_datedatetime还书时间
termsmallint(6)借期

//Fine(罚款规则表)

字段类型默认注释
fine_idvarchar(20)处罚类别id
book_typevarchar(5)书籍等级
pricefloat precise(2)每天价格
is_deletevarchar(1)0

0没有删除

1已经删除

//Record(记录表,记录用户的操作)

字段类型默认注释
Record_idvarchar(20)User_id+now_time
user_idvarchar(20)用户id
record_datedatetime操作时间
record_categoryvarchar(20)操作
record_introductvarchar(1000)操作记录
  • Borrow表的user_id属性设置为外键,该属性参考User表的user_id。
  • User表的role属性设置为外键,该属性参考RoleList表的RoleName。
  • Borrow表的book_id属性设置为外键,该属性参考Book表的book_id。
  • Record表的user_id属性设置为外键,该属性参考User表的user_id。

第三部分 系统使用说明书

一、系统安装

若要在本地运行服务,确保系统装有Python2.7,利用easy_install或pip2.7安装django,south

下载源码(https://download.csdn.net/download/s1t16/87248905)后,

​ 命令行下进入项目目录,

​ 执行:

​ python2.7 ./manage.py syncdb

​ python2.7 ./manage.py runserver 0.0.0.0:8080

二、系统启动

​ 互联网访问:在浏览器输入url:http://chaos.ac.cn

​ 本地访问:在浏览器输入url:127.0.0.1:8080

三、系统登录

在这里插入图片描述

在登录页面输入正确的账号密码

用户名为学号 密码为学号后6位

四、系统菜单

如下图所示:个人管理,系统管理,用户管理和其他4个总项。右上角是登录状态
在这里插入图片描述

五、系统设置

无需设置。

六、系统功能

点击左边的菜单栏选择功能

1.书籍入库

系统管理 --> 书籍入库 跳出如下界面

在这里插入图片描述

若不按要求输入信息,则会报错

在这里插入图片描述

输入信息正确

在这里插入图片描述

点击入库,自动跳转 借阅书籍 界面

在这里插入图片描述

2. 借书

点击借书按钮,若借书成功,自动跳转个人状态界面

在这里插入图片描述

失败的情况(举一例):

在这里插入图片描述

3.还书

个人状态界面,点击还书按钮,还书成功,书籍剩余量加一

在这里插入图片描述

4.图书管理

系统管理 图书管理

在这里插入图片描述

修改

在这里插入图片描述

修改不当会报错,以表格的形式呈现(包括后面的用户管理、用户类型,借阅书籍,个人状态、总体记录),

表格功能

1.搜索

在搜索框中输入相应的内容,可以搜索到相关的信息。

如:计算机

在这里插入图片描述

填完相应信息后点击确定可提交;

2.滚动条

登录界面时,自动跳转上次记录的地方

3.删除按钮

点击确定后删除,点击表头中的相应字段,可以根据相应字段进行排序;

如根据藏书量排序

在表头:

在这里插入图片描述

可以看到总共的记录条数,可以选择每页显示的记录条数,右部可实现分页的跳转(选择页数,上一页,下一页,首页,末页)

以上功能为图书管理、用户管理、用户类型,借阅书籍,个人状态、总体记录通用功能。

5.用户管理

查看用户的相应信息

在这里插入图片描述
在这里插入图片描述

6.角色管理

在这里插入图片描述

新建角色

在这里插入图片描述

7.权限管理

在这里插入图片描述

新建权限

在这里插入图片描述

8.个人记录

在这里插入图片描述

可以看到个人相应的借书记录,登录信息,还书记录等

9.总体记录

在这里插入图片描述

显示了所有用户的所有记录

10.罚款规则

静态页面

11.系统信息

静态页面

六、 关系模式设计

书籍信息表

Book(
    book_id(primary key),
    book_name,
    author,
    press,
    publication_year,
    introduction,
    add_time,
    category_id,
    inventory
    remainNumber)

借书表

Borrow(
      borrow_id(primary),
      user(foreign_key),
      book(foreign_key),
      borrow_date,
      return_date,
      term_day)

记录

record(
    record_id,
    user(foreign_key),
    record_date,
    record_category,
    record_introduct
)

用户表

User(
    user_name(primary key),
    sex,
    password,
    email,
    last_visit,
    is_active,
    is_superuser
    nickname,
    role
    )

用户等级

PermissionList(
    name,
    url
)

RoleList(
    name,
    permission
)

♻️ 资源

在这里插入图片描述

大小: 1.63MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87248905

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/93576.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件测试就业现状分析,2023是卷or润?

导读 自媒体大V卢克文11月的文章《从数据读疫情》中写道,“大约从2022年5月以后,身边的人,大量倾诉,他们的餐馆、旅行社、投资公司、运输公司出问题了,他们没钱了,每日还要还贷,他们很难过”。…

Java+MySQL基于SSM的会议交接平台的设计与实现 毕业设计

随着社会竞争压力的不断加强,企事业单位内部的会议都在不断的增加,有效的会议可以提高企事业内部的沟通,更好的做出符合战略目标的决策,但是传统的会议交接有一定的问题存在,首先就是必须面对面进行传达,其次就是对任务的安排和执行没有很好的记录,为了改变这些情况,于是我们提…

免疫佐剂CpG ODN说明——艾美捷CpG ODN 方案

免疫佐剂(immunoadjuvant),又称非特异性免疫增生剂,其本身不具有抗原性,但同抗原一起或者预先注射到机体后,能非特异性地改变机体对该抗原的特异性免疫应答。1925年Ramon首先发现在疫苗中加入某种其他物质可以提高抗原…

OpenCV-Python学习(17)—— OpenCV 图像像素类型转换与归一化(cv.normalize)

1. 学习目标 学习 OpenCV 图像像素的类型转换;学习 OpenCV 归一化函数。 2. OpenCV 图像像素的类型转换 由于【在 OpenCV-Python 中一切图像数据皆 numpy.array】,因此像素的类型转换可以直接使用 numpy 的类型转换方法。 2.1 将像素转换为 float32 i…

Windows 下 MongoDB 6 详细安装教程(图文结合)

​ MongoDB是一个基于分布式文件存储 [1] 的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 ​ MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常…

为什么电子商务物流对电商商家的业务如此重要?

正是电子商务物流的推动推动了企业发展包括最大渠道在内的整体生态系统;店内提货、电子商务、分销商、经销商、合作伙伴和全球制造商,推动新客户的增长。电子商务巨头的目标是推动更多的销售并提高客户忠诚度。  无论是内部还是第三方物流公司,改进的电…

springboot simple (11) springboot protostuff

1 protostuff简介 protostuff是一个基于protobuf实现的序列化方法。 优点&#xff1a;不用写.proto文件。 2 springboot protobuf集成开发 第1步&#xff1a;pom文件引入&#xff1a; <dependency><groupId>io.protostuff</groupId><artifactId>pr…

CDGA|数据治理有哪些痛点,该如何应对呢?

数据治理核心目的,就是通过数据的治理,将数据以更加实用更加有价值的赋能使用者创造更大的价值或者是变现能力,但随之而来的问题也日益凸显。 1、数据质量良莠不齐。数据之多,使用之乱,造成的数据不一致,冗余重复等等,通常会使企业花费额外的成本。 2、数据的互联不强,缺乏统一…

95 C语言初阶练习题

CNT=函数调用的次数 do while 不管三七二十一直接进入循环 k=i+j就等于k=k(i+j)** 局部a只能在test函数内使用 &&并且 || 或者

基于java(springboot)广场舞团管理系统源码(java毕业设计)

基于java(springboot)广场舞团管理系统 广场舞团系统&#xff0c;是基于java编程语言&#xff0c;mysql毕业设计&#xff0c;springboot框架和idea工具开发&#xff0c;本系统分为用户&#xff0c;舞团管理者&#xff0c;管理员三个角色&#xff0c;用户可以注册登陆系统&…

对于新技术的发展而言,坚持长期主义,或许才是正道所在

从Meta股价的一路走低到扎克伯格发布的头显并不被用户买账&#xff0c;Facebook全力拥抱Meta正在经历一场过山车。   扎克伯格和他所带领下的Meta遭遇到的如此多的困境和难题&#xff0c;越来越多地让我们开始相信&#xff1a;所谓的元宇宙并非是一蹴而就的&#xff0c;它是一…

JUC并发编程第十四篇,StampedLock(邮戳锁)为什么比ReentrantReadWriteLock(读写锁)更快!

JUC并发编程第十四篇&#xff0c;StampedLock&#xff08;邮戳锁&#xff09;为什么比ReentrantReadWriteLock&#xff08;读写锁&#xff09;更快&#xff01;一、ReentrantReadWriteLock&#xff08;读写锁&#xff09;1、读写锁存在的意义&#xff1f;2、读写锁代码示例3、读…

orCAD Capture DRC规则设置及检查和报错修改

1.进入DRC设置界面: 如下图,依次选中“dsn→Tools→Design Rules Check” 或者 然后会跳出来一个提示框,点击Yes即可 2.进行DRC规则设置: 上面第二步结束之后,就进入到了DRC规则设置界面,主要有四个类别进行设置。如下图,分别是Design Rules Options、Electrriacl Rule…

致初学者:如何学好Python这门编程语言?

前言 对于很多Python这门编程语言的初学者&#xff0c;往往会面临以下问题&#xff1a; Python2和Python3我该学习哪一个&#xff1f; 是否要安装Linux系统学习Python&#xff1f; Python3有各种版本我该安装哪一个&#xff1f; 那么多的图书、视频和电子教程我该选择哪一个&a…

MySQL --- 函数大全 7

目录 1.从地理哈希值返回纬度 ST_LatFromGeoHash() 2.点的返回纬度 ST_Latitude() 3.返回线字符串的长度 ST_Length() 4.从 WKT 构造线字符串 ST_LineFromText&#xff08;&#xff09;/ ST_LineStringFromText&#xff08;&#xff09; 5.从…

excel行列互换方法

excel行列互换的两种方法&#xff1a;使用转置功能和使用函数公式完成行列互换。excel行列互换多用在打印的时候&#xff0c;根据不同的页面设置&#xff0c;有时页面不够用&#xff0c;这个情况就需要用到excel行列互换。 下图是一个简单的excel行列互换的实例应用。4行三列的…

设备备件管理怎么做?

本篇文章将介绍&#xff1a;1、设备备件管理中存在的问题&#xff1b;2、设备备件管理具体怎么做&#xff1f; 设备备件管理&#xff0c;是为了能够按计划进行设备检修&#xff0c;尽量缩短故障停机时间&#xff0c;减少维修费用&#xff0c;在保证备件品种的质量和数量、供应及…

SpringBoot【配置文件】

SpringBoot【配置文件】&#x1f34e;一.配置文件&#x1f352;1.1 配置文件作用&#x1f352;1.2 配置⽂件的格式&#x1f34e;二.properties 配置文件&#x1f352;2.1 properties 基本语法&#x1f352;2.2 properties快捷生成插件(spring tools)&#x1f352;2.3 读取prope…

用好 TypeScript,请再深入一些

TypeScript 已经成为前端编程语言的事实标准。但我从大量的 Code Review 和面试经历中发现&#xff0c;真正能深入使用 TypeScript 的开发其实并不多。如果你不知道 ReturnType<T> 的作用和实现&#xff0c;或许这篇文章也适合你。 当然&#xff0c;我们花大量时间去学习…

tinode客户端安卓版编译手账

前一阵子我自己架设了一个tinode的IM服务器, web直接可以运行 但是安卓版本的一直报错&#xff0c; 具体信息为&#xff1a; No subjectAltNames on the certificate match 问了作者&#xff0c;作者竟然把我的问题直接删除了&#xff0c;还是自己调试代码吧。毕竟源码面前…