我的Python实训

发布于 29 天前  119 次阅读


  在大一下学期,我们开设了Python编程语言课程,在学习Python的过程中,我感受到了编程的乐趣和自己编写一个程序的成就感。 以及随意组队是坏文明 @>

  在即将结束上学期Python学习的时候,我们也从理论课到了实践课,老师对我们的实训作业要求是让我们自己分组(为什么要分组啊喂)@>后编写一个基于Python的使用数据库的Web留言板程序,基本功能是在浏览器的网页上写留言、查看留言,并且把留言内容存到数据库里。

  老师给了示例代码,但是我们想从零开始写一个,毕竟机会难得,同时也是想要验证自己的学习成果吧。

  我们组是八人组,一开始我们决定分工合作,经过我们讨论后决定制定一个标准然后按照我们制定的标准以模块化的方式把每一个功能分开由不同的人来写,写的时候有写相互有关联的功能的人就相互沟通,

  我们设想中的作品是 Pjax + Ajax 异步局部刷新实现浏览过程中网页无刷新、分页展示留言、用户注册、用户管理、留言管理、风险控制、邮件提醒、RSS输出、留言评论、支持插入图片和Markdown语法的程序。

  分工的时候我负责写程序主体框架、各模块之间的接口、邮件模块、后台管理(包括用户那部分),示例代码中实现与浏览器通信的是Flask,我没有学习过Flask,我一开始想使用老师讲过的Socket来写HTTP请求和返回,但是看了看要写的功能还有与写前端的同学沟通后发现使用Flask会更好,使用Flask我们就能很方便的使用网页模板,用户浏览器看到的网页是由数据库模块根据用户需要查询后的数据填入网页模板最终由Flask响应将网页发送给用户浏览器。这样会减少我们很多工作量,于是我就去研究Flask了,后来由于写前端的同学遇到了一些问题,前端模板又交给了我来写(鸽子终被鸽)@>,因为懒然后我在征得我们好友OMG的同意(OMG yyds)@>,使用的他的API网站前端样式,我加入了MDUI开源样式库,一番魔改后得到了最终样式。

  老师要求我们使用数据库,但是我们没有学过数据库的相关知识,虽然最后写数据库模块的同学也没能完成,同时我在写前端的时候遇到了一些问题,然后我就把数据库也拿过来一起写了(在橘佬的指导下使用了ORM来进行数据库操作,感谢橘佬ヾ(✿゚▽゚)ノ)。因为我没学过JavaScript,所以我在写Ajax和Pjax来实现前端数据验证和异步请求的时候遇到了问题,想了两天也没解决,然后时间也只有两周,一直忙于解决前端问题的我也没来得及学 Flask 的用户登录判断(基于Cookie和Session),就砍了用户功能,再加上实训课时间不够了,只能放弃模块化设计,只能砍了,自己写好的邮件模块也用不上了(哭)。 原先设计的留言分页展示,Pjax + Ajax 异步局部刷新网页无刷新体验、用户注册、用户管理、留言管理、风险控制、邮件提醒、RSS输出、留言评论这些功能都没有实现。勉强实现了Pjax 其实是OMG模板里有的 ,还加了个APlayer播放器,但是由于没有学过CSS导致原本计划加上的歌词动态显示也没了,顺带一提歌词我都已经写好在music.js里了,用户模块没完成,邮件提醒所以也只能砍了。

  到最后我们小组得到了实训课最高分,我也拿到了最高成绩89分,虽然很有成就感,但是在我眼里,我们原本设计的功能大部分都没能实现,还是自己太无能了,还是要好好学习,在遇到问题的时候就会发现知识是不够用的。老实说,那段时间我感觉我像是疯了一样,我从没那么认真过,那么认真创造一个东西是第一次,真的是一次很宝贵的经历。

  最后附一个最终的作品图吧,后面我自己搭建了一个 现在没了 ,感谢每一位给我留言的朋友,在成长的路上能遇到你们真的太幸运了,感谢有你们相伴。

Github:OrientalFantasy/pigeon_message (github.com)

   至于为什么项目代码里莫得数据库啊,因为鸽了。是因为我当时没上传,现在莫得了,要搭了康康的可以康源码(懒ε≡٩(๑>₃<)۶ @>

   (偷偷吐槽写文档那个同学太水了,代码基本都是我写的,40分代码分我拿了37分,20分的文档分,结果他只拿了12分,唉,希望以后老师别再整小组合作了,累死我了,他们都摸鱼结果只有我在写,这次作业代码都是我写的(大声)

   其实我是来水文章的(逃 @>


只是当时已惘然。