基于python圖書館管理系統(tǒng)設計實例詳解
寫完這個項目后,導師說這個你完全可以當作畢業(yè)項目使用了,寫的很全,很多的都設計考慮周全,但我的腳步絕不止于現在,我想要的是星辰大海!與君共勉!
這個項目不是我的作業(yè), 只是無意中被拉進來了,然后就承擔了所有,肝了一周多,終于完成,但這個也算是一個很大的項目了吧,對于我現在來說,寫這個項目遇到了很多困難,這是真的,其中涉及到數據庫的使用,就遇到了一點瓶頸, 但這不算什么,還是要被我搞定的。
夢想就像這個遠處夕陽,終究觸手可及!
Python項目:
項目前提:
這個項目涉及到的知識點有很多, 知識串聯起來就會顯得復雜,但這也是鍛煉自己的一個能力。 下面先描述這個項目的大致結構。
成品圖
架構圖
數據庫圖
思維導圖
項目感想:
畫這個思維導圖的時候,我想了很久,是不是所有功能都需要去實現,我們把這個項目的入口分別學生端和教師端, 那是否就有對應的存儲數據的模塊呢, 于是我想到了使用數據庫, 使用數據庫去建立對應的表,然后不就可以分別保存了嗎,而在這個項目中, 界面的選擇也是很關鍵, 如果不適用界面,還是使用一個原生代碼交互式, 那么這個項目的挑戰(zhàn)性就很不人性化,也不友好, 這個我還是選擇了tkinter庫, 簡單上手, 用來設計簡單的界面最好不過了, 然后就是關于 程序的框架 如何去設計, 這個沒有現存的框架去套用, 所以我使用了面對對象的思維去闡述,畢竟老師和學生都有很多相同點, 在這里使用函數的繼承和多態(tài)最好不過了,然后連接到數據庫,這個數據庫我是用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 搭建一個 圖書館管理系統(tǒng) 使用tkinter作為簡易的GUI界面 功能上滿足日常所需 數據保存在本地數據庫中 """ print(text) print(help(StudentLogin)) print(help(TeacherLogin)) print(help(Mysql)) print(help(Login)) Login()
Login登入模塊:
講道理,我應該先闡述一下注冊的, 不然都沒有賬號,怎么點擊登入。但是因為我把主要模塊寫在了login中了, 看下面的圖:
這里登入方式有二種, 注冊方式也有二種, 分別是管理員和學生,在login模塊中, 設置了一個注冊按鈕, 點擊注冊按鈕, 整個界面就會跳轉到注冊界面中, 這個稍后再說, 所以整體構架還是存放到login中, 我覺得會很方便一點, 主要是便于傳root 和 password 中。
我們先看看login模塊的大致函數,然后細講:
整個__init__ 中, 是生成這個界面的函數, 包括一些必要的值,也構造在其中, 然后根據用戶輸入的賬號密碼, 進行身份的驗證, 這個模塊寫到test_db() 中, 如果賬號正確, 那么就進入對應的模塊中, 不對,那么就會有錯誤彈窗警告,比如這個,或者其他的。
怎么進行身份的驗證呢 ? 這個其實也很簡單, 連接到數據庫之后,就向數據庫執(zhí)行檢索命令, 根據賬號進行初步查找, 然后如果賬號密碼都正確的話, 那不就是身份正常了嗎, 所以思路正確。
登入成功之后, 就會對數據庫進行表單的更新, 我把這個功能寫在了update中, 會更新最后登入時間, 時間的獲取我寫在了get_time中, 這樣就能簡單的實現, 一個登入模塊的設置了。
數據庫中:
我覺得還是有必要先講一下數據庫, 了解一下數據庫的大致構造, 不然你們看的很暈,我也不好講這些。
我建立了一個數據庫 book , 里面新建了三個表單, student, teacher, books,分別學生,老師, 圖書表, 互不干擾,相互工作。
在student:
表的大致構造如上, 其實也就是簡單的信息, 復雜的我暫時也做不了, 然后teacher 表單 信息 其實和 students 是一樣的, 只不過這樣設計, 可以封開, 更好管理!
在books中;
books字段的設計,其實也不是很難, 把一些基本信息加入就可以了,然后這個books中, 我寫了一個小爬蟲, 把表單信息補充了一下, 先充實一下,方便接下來的操作。
然后我們講一下這個模塊中, 這是一個連接數據庫的一個父類,這就很方便其他的類進行繼承, 或者重寫操作, 所以,這個類的實現是十分簡單的,也就是進行數據庫的連接, 關閉, 獲得數據庫的游標 和 db值, 讓其他類去繼承這些, 就可以進行數據庫的簡單操作了,。
然后我們看看如何注冊賬號,
Register注冊模塊:
差點我就忘記注冊這個模塊的設計了, 最開始的賬號是我自己直接在數據庫中填入的,我說怎么感覺少了很多來著, 后面急急忙忙的補上去。
注冊GUI:
注冊分為二種注冊, 一個管理員, 一個學生, 在登入的界面進行選擇,然后注冊的界面也會發(fā)生相對于的變化。
變化就是 把 這個管理員注冊 改成 學生注冊 哈哈哈哈哈哈
注冊的時候,也會進行數據的檢測, 比如賬號是否被注冊咯, 密碼是不是過于簡單之類的, 先給出注冊的函數吧
我們在輸入框中輸入的信息,會通過init函數進行傳值, 所有的都會成為本地變量, 在start_reg中 會進行信息檢測, 然后給出一些錯誤彈窗,比如這樣:
然后你就要重新思考一個帥氣的名字, 就可以方便你的注冊了,當所有的正常之后,就會運行reg_people 函數, 進行表單的提交,實際上就是更新數據庫, 更新對應的數據庫, 如果是學生注冊就更新student 反之更新teacher表,這樣就完成了注冊模塊。 然后就可以很簡單的登入了, 在這里給一下爬蟲程序先
爬蟲程序:
這個代碼就不解釋了,需要私聊
學生界面 students:
我們選擇學生登入, 正確輸入, 就會跳轉至學生界面:
界面GUI
登入之后,顯示這樣的界面, 雖然有點丑,,沒事,。
函數大致:
基本上的功能都能實現,也有對應的異常處理方式, 以及彈窗提示, 換句話說, 你想得到的東西,在這里都能實現, 需要就私聊吧,寫著太累了,一個個描訴。
管理員界面teacher:
不同于學生界面, 管理員界面的功能更加復雜,不, 更加豐富,界面:
界面就是這樣的,tk界面外觀勉勉強強, 還行吧。
函數功能也是一樣的,你想的我都能實現,還是一句話,沒有你們想不到的,只有我老八做不到的,奧里給,肝了。
后記:
一個多禮拜, 千行代碼, 肝了兄弟們, 需要的私聊我, 還是個學生,你懂的。
到此這篇關于基于python圖書館管理系統(tǒng)設計實例詳解的文章就介紹到這了,更多相關基于python圖書館管理系統(tǒng)設計內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!