基于python图书馆管理系统设计实例详解


Posted in Python onAugust 05, 2020

写完这个项目后,导师说这个你完全可以当作毕业项目使用了,写的很全,很多的都设计考虑周全,但我的脚步绝不止于现在,我想要的是星辰大海!与君共勉!

这个项目不是我的作业, 只是无意中被拉进来了,然后就承担了所有,肝了一周多,终于完成,但这个也算是一个很大的项目了吧,对于我现在来说,写这个项目遇到了很多困难,这是真的,其中涉及到数据库的使用,就遇到了一点瓶颈, 但这不算什么,还是要被我搞定的。

基于python图书馆管理系统设计实例详解

梦想就像这个远处夕阳,终究触手可及!

Python项目:

项目前提:

这个项目涉及到的知识点有很多, 知识串联起来就会显得复杂,但这也是锻炼自己的一个能力。 下面先描述这个项目的大致结构。

成品图

基于python图书馆管理系统设计实例详解

架构图

基于python图书馆管理系统设计实例详解

数据库图

基于python图书馆管理系统设计实例详解

思维导图

基于python图书馆管理系统设计实例详解

项目感想:
画这个思维导图的时候,我想了很久,是不是所有功能都需要去实现,我们把这个项目的入口分别学生端和教师端, 那是否就有对应的存储数据的模块呢, 于是我想到了使用数据库, 使用数据库去建立对应的表,然后不就可以分别保存了吗,而在这个项目中, 界面的选择也是很关键, 如果不适用界面,还是使用一个原生代码交互式, 那么这个项目的挑战性就很不人性化,也不友好, 这个我还是选择了tkinter库, 简单上手, 用来设计简单的界面最好不过了, 然后就是关于 程序的框架 如何去设计, 这个没有现存的框架去套用, 所以我使用了面对对象的思维去阐述,毕竟老师和学生都有很多相同点, 在这里使用函数的继承和多态最好不过了,然后连接到数据库,这个数据库我是用MySQL去搭建的, 其他的数据库也是一样的道理,其他的也就顺手写完了。整体来说, 这个项目提升还有很大,只不过我现在能力不足, 也快考试了,没这么多时间去搞,生活还得向前走,加油!

因为这个项目代码太多了, 在这里就不分享出来,有需要的可以私聊找我!

如果觉得文章很长,可以根据目录进行跳转阅读! 也可以收藏关注点击,谢谢。

项目框架:

在__init__函数中:

这是一个构造函数, 在这里单独的拿出来,就是方便程序的运行,也方便打印一些help信息。 在下面这些代码中, 导入了很多模块,对的, 这些不是第三方库哦, 这是我自己编写的类函数,在下面的实例中,你们也可以看到,使用这样的方便,在编写代码的时候可以方便很多,你们一定要用!

# # -*- coding : utf-8 -*-
# @Time  : 2020/7/1 21:29
# @author : 沙漏在下雨
# @Software : PyCharm
# @CSDN  : https://me.csdn.net/qq_45906219
from TeacherLogin import TeacherLogin
from StudentLogin import StudentLogin
from mysql_login import Mysql
from Login import Login

text = """
author: 沙漏在下雨
time: 七月计划
尝试使用python 搭建一个 图书馆管理系统
使用tkinter作为简易的GUI界面
功能上满足日常所需
数据保存在本地数据库中
"""
print(text)
print(help(StudentLogin))
print(help(TeacherLogin))
print(help(Mysql))
print(help(Login))
Login()

Login登入模块:

讲道理,我应该先阐述一下注册的, 不然都没有账号,怎么点击登入。但是因为我把主要模块写在了login中了, 看下面的图:

基于python图书馆管理系统设计实例详解

这里登入方式有二种, 注册方式也有二种, 分别是管理员和学生,在login模块中, 设置了一个注册按钮, 点击注册按钮, 整个界面就会跳转到注册界面中, 这个稍后再说, 所以整体构架还是存放到login中, 我觉得会很方便一点, 主要是便于传root 和 password 中。

我们先看看login模块的大致函数,然后细讲:

基于python图书馆管理系统设计实例详解

基于python图书馆管理系统设计实例详解

整个__init__ 中, 是生成这个界面的函数, 包括一些必要的值,也构造在其中, 然后根据用户输入的账号密码, 进行身份的验证, 这个模块写到test_db() 中, 如果账号正确, 那么就进入对应的模块中, 不对,那么就会有错误弹窗警告,比如这个,或者其他的。

基于python图书馆管理系统设计实例详解

怎么进行身份的验证呢 ? 这个其实也很简单, 连接到数据库之后,就向数据库执行检索命令, 根据账号进行初步查找, 然后如果账号密码都正确的话, 那不就是身份正常了吗, 所以思路正确。
登入成功之后, 就会对数据库进行表单的更新, 我把这个功能写在了update中, 会更新最后登入时间, 时间的获取我写在了get_time中, 这样就能简单的实现, 一个登入模块的设置了。

数据库中:

我觉得还是有必要先讲一下数据库, 了解一下数据库的大致构造, 不然你们看的很晕,我也不好讲这些。

我建立了一个数据库 book , 里面新建了三个表单, student, teacher, books,分别学生,老师, 图书表, 互不干扰,相互工作。

在student:

基于python图书馆管理系统设计实例详解

表的大致构造如上, 其实也就是简单的信息, 复杂的我暂时也做不了, 然后teacher 表单 信息 其实和 students 是一样的, 只不过这样设计, 可以封开, 更好管理!

在books中;

基于python图书馆管理系统设计实例详解

基于python图书馆管理系统设计实例详解

books字段的设计,其实也不是很难, 把一些基本信息加入就可以了,然后这个books中, 我写了一个小爬虫, 把表单信息补充了一下, 先充实一下,方便接下来的操作。

然后我们讲一下这个模块中, 这是一个连接数据库的一个父类,这就很方便其他的类进行继承, 或者重写操作, 所以,这个类的实现是十分简单的,也就是进行数据库的连接, 关闭, 获得数据库的游标 和 db值, 让其他类去继承这些, 就可以进行数据库的简单操作了,。

基于python图书馆管理系统设计实例详解

然后我们看看如何注册账号,

Register注册模块:

差点我就忘记注册这个模块的设计了, 最开始的账号是我自己直接在数据库中填入的,我说怎么感觉少了很多来着, 后面急急忙忙的补上去。
注册GUI:

注册分为二种注册, 一个管理员, 一个学生, 在登入的界面进行选择,然后注册的界面也会发生相对于的变化。

基于python图书馆管理系统设计实例详解

变化就是 把 这个管理员注册 改成 学生注册 哈哈哈哈哈哈

注册的时候,也会进行数据的检测, 比如账号是否被注册咯, 密码是不是过于简单之类的, 先给出注册的函数吧

基于python图书馆管理系统设计实例详解

我们在输入框中输入的信息,会通过init函数进行传值, 所有的都会成为本地变量, 在start_reg中 会进行信息检测, 然后给出一些错误弹窗,比如这样:

基于python图书馆管理系统设计实例详解

基于python图书馆管理系统设计实例详解

然后你就要重新思考一个帅气的名字, 就可以方便你的注册了,当所有的正常之后,就会运行reg_people 函数, 进行表单的提交,实际上就是更新数据库, 更新对应的数据库, 如果是学生注册就更新student 反之更新teacher表,这样就完成了注册模块。 然后就可以很简单的登入了, 在这里给一下爬虫程序先

爬虫程序:

基于python图书馆管理系统设计实例详解

这个代码就不解释了,需要私聊

学生界面 students:

我们选择学生登入, 正确输入, 就会跳转至学生界面:

界面GUI

基于python图书馆管理系统设计实例详解

登入之后,显示这样的界面, 虽然有点丑,,没事,。

函数大致:

基于python图书馆管理系统设计实例详解

基于python图书馆管理系统设计实例详解

基本上的功能都能实现,也有对应的异常处理方式, 以及弹窗提示, 换句话说, 你想得到的东西,在这里都能实现, 需要就私聊吧,写着太累了,一个个描诉。

管理员界面teacher:

不同于学生界面, 管理员界面的功能更加复杂,不, 更加丰富,界面:

基于python图书馆管理系统设计实例详解

基于python图书馆管理系统设计实例详解

界面就是这样的,tk界面外观勉勉强强, 还行吧。

基于python图书馆管理系统设计实例详解

基于python图书馆管理系统设计实例详解

基于python图书馆管理系统设计实例详解

函数功能也是一样的,你想的我都能实现,还是一句话,没有你们想不到的,只有我老八做不到的,奥里给,肝了。

后记:

一个多礼拜, 千行代码, 肝了兄弟们, 需要的私聊我, 还是个学生,你懂的。

到此这篇关于基于python图书馆管理系统设计实例详解的文章就介绍到这了,更多相关基于python图书馆管理系统设计内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
初步解析Python中的yield函数的用法
Apr 03 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
python自动化生成IOS的图标
Nov 13 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
画pytorch模型图,以及参数计算的方法
Aug 17 Python
Python Django 添加首页尾页上一页下一页代码实例
Aug 21 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
python 错误处理 assert详解
Apr 20 Python
python中元组的用法整理
Jun 15 Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 Python
LeetCode189轮转数组python示例
Aug 05 Python
基于Python的一个自动录入表格的小程序
Aug 05 #Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 #Python
Python如何读写字节数据
Aug 05 #Python
python中Django文件上传方法详解
Aug 05 #Python
Python限制内存和CPU使用量的方法(Unix系统适用)
Aug 04 #Python
Python如何将将模块分割成多个文件
Aug 04 #Python
Python 保存加载mat格式文件的示例代码
Aug 04 #Python
You might like
ThinkPHP空模块和空操作详解
2014/06/30 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
JQUERY操作JSON实例代码
2010/02/09 Javascript
Javascript调用C#代码
2011/01/17 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
2018/09/13 Javascript
Node.js JSON模块用法实例分析
2019/01/04 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
Python 自动补全(vim)
2014/11/30 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
Python干货:分享Python绘制六种可视化图表
2018/08/27 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
Pandas DataFrame求差集的示例代码
2020/12/13 Python
python中str内置函数用法总结
2020/12/27 Python
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
财务人员担保书
2014/05/13 职场文书
岗位说明书怎么写
2014/07/30 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
导游词之吉林花园山
2019/10/17 职场文书
Python实战之实现康威生命游戏
2021/04/26 Python