基于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中列表元素连接方法join用法实例
Apr 07 Python
Python实现Linux命令xxd -i功能
Mar 06 Python
Python下的Softmax回归函数的实现方法(推荐)
Jan 26 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
Python使用wxPython实现计算器
Jan 30 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
May 29 Python
Python实现高斯函数的三维显示方法
Dec 29 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 Python
浅析使用Python搭建http服务器
Oct 27 Python
django实现模型字段动态choice的操作
Apr 01 Python
详解用Python爬虫获取百度企业信用中企业基本信息
Jul 02 Python
Python如何使用神经网络进行简单文本分类
Feb 25 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
php生成随机数或者字符串的代码
2008/09/05 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
javascript中对对层的控制
2006/12/29 Javascript
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
利用Python进行数据可视化常见的9种方法!超实用!
2018/07/11 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
django将数组传递给前台模板的方法
2019/08/06 Python
pytorch构建多模型实例
2020/01/15 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
2021/01/06 Python
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
经理管理专业自荐信范文
2013/12/31 职场文书
先进工作者推荐材料
2014/12/23 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书