基于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学习数据结构实例代码
May 11 Python
Python 3.x 新特性及10大变化
Jun 12 Python
Python实现SVN的目录周期性备份实例
Jul 17 Python
横向对比分析Python解析XML的四种方式
Mar 30 Python
python在每个字符后添加空格的实例
May 07 Python
使用pandas对两个dataframe进行join的实例
Jun 08 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
pytorch获取vgg16-feature层输出的例子
Aug 20 Python
python实现ip地址的包含关系判断
Feb 07 Python
使用Python实现微信拍一拍功能的思路代码
Jul 09 Python
Python发送邮件实现基础解析
Aug 14 Python
使用pandas模块实现数据的标准化操作
May 14 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
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
2015/11/09 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
JQuery实现的在新窗口打开链接的方法小结
2010/04/22 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
Vue全局loading及错误提示的思路与实现
2019/08/09 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
八大排序算法的Python实现
2021/01/28 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
为什么你还不懂得怎么使用Python协程
2019/05/13 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
解决 jupyter notebook 回车换两行问题
2020/04/15 Python
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
工作中个人的自我评价
2013/12/31 职场文书
企业消防安全制度
2014/02/02 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
督导岗位职责
2015/02/04 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
学生会干部任命书
2015/09/21 职场文书
pytorch中的numel函数用法说明
2021/05/13 Python