紧迫的时间,拉紧的神经,易碎也易成长!
在拿到这个项目的时候,首先是查阅了基于Python的图书管理系统可以怎么做,可以通过什么方式搭建,可以以什么样式展现。
据我目前了解到的信息,可以做成这样:
1、命令行形式运作,如输出“Hello World!"般,这个形式看着简易,实则做出来的话,要想用,得记一箩筐东西,代码想着简单也可以敲到吐血;
2、GUI界面运作,调用可以制作GUI界面的库,如tkinter、pyqt5,我在这个项目中用的是tkinter,不为别的,就为了易上手,自带,方便;
3、网页形式运作,搭建web框架,调用django编写,要学的东西不少;
4、桌面应用形式运作,用Designer,可视化编程,做出来肯定比tkinter帅,没接触过,不知道怎么样。
谈谈我做这个项目的历程:
- 最开始的时候,我打算是做网页的,但在看了半天多的教程后,晚上的时候果断选择了放弃。
讲讲我看教程的变化,开始时直接看django,然后发现基本不会,看不懂,在了解了一些概念后,知道做这个图书管理系统,得有前端,得有数据库,得有后端,少吧?就三个部分,但巧的是我一个部分都没学过,就很难受。于是,我不看django了,转去了解Web框架,然后看了一丢丢的html,在对Web框架有了一丢丢认识之后,再转回看django。
为啥都只了解一点而不细专呢?我不想吗,时间它不允许呀,要在尽可能短的时间做完这个项目。
就是因为要时间短,所以当天晚上,在时间迫压之下,我觉得我不可能系统的学完前端、数据库、后端,然后再去做这个项目,我选择了放弃,换思路。 - 第二个思路,GUI界面+数据库+爬虫。卧槽,是不是还是很高大上,结果第二天看了一天的数据库后发现,我尼玛再学多个爬虫,我不得game over了。于是乎,在一天的学习后,我毅然决然的,又换了思路。
- 第三个思路,GUI界面+数据库,尽可能完善功能。这第三个思路就很好了,很切实际,对一个嘛也不懂,还得速学速用的我来说,相对前两个友好很多很多,于是乎,我在这条路上熬夜干了两天后,勉强完工(有眼ti)。
- 了解了一下tkinter库的大致使用后,就结合前一天所学的数据库知识,慢慢的,一个代码一个代码的试。卧槽了, 这写的代码+调试是真恶心,特别是Mysql的语言,什么都不懂的时候,盲试,试的脾气暴躁。后面想想,其实难受的主要是不懂怎么对数据库进行交互处理,唉,小白莽撞的悲伤,没抓到重点,不懂得先学数据库。
- 在编写了数个调试方法后,思路也慢慢清晰了,懂得怎么将数据库和tkinter联系起来,代码好写多了,最后强忍吐意慢慢敲出了想要的效果。
总结一下,如果你也急于做个图书管理系统,或者说其他什么系统吧,一定一定要先学数据库,在了解了Mysql后再去学GUI界面编写或网页等,因为你后面所有关于数据的处理都是应用数据库,交互处理做的好,事半功倍!