返回目录:文件问题
前面我们解决了搭建动态页面的问题(前文《花5分钟教会你用python搭建出一个动态网页,零基础也能学得会》)
解决了连接数据库的问题(前文《有了记忆才能发挥出服务器的威力,python架服务器连接数据库速成》)
又解决了中文utf-8的输出问题(前文《一个自定义python函数解决服务器输出中文utf-8网页的乱码问题》)
综合这些知识,我们已经能够建立一些小的应用帮助我们日常工作了 。
需求
譬如某个公司有很多下属单位,召开会议需要下属单位派员参加 。我们需要制作一个报名网页,由各单位点击后填报,直接获取全部人员名单
首先,我们做个规划,我们的页面应该是按照数据库内容动态显示最新报名资料的,因此不能用静态页面实现。需要为这个报名表写一个动态页面,这里我们命名为“sup.py”
然后,我们起码要实现插入和删除两个基本功能,因此我们计划分别用“add.py”和“del.py”实现.
这三个文件均需要放置在cgi-bin目录下备用(这个目录的作用在以前文章已经介绍了,您可以关注下查询旧文章)
第一个文件:报名页面 由/cgi-bin/sup.py文件实现
主要功能1:读取
用SELECT命令从数据库查询出所有报名名单。
主要功能2: 绘制页面
上部显示现有报名清单,每人一行,行末安排一个[删除按钮。行内显示序号、单位、姓名、电话、备注。按钮对应的url中写入记录号
下部显示一个空白表单,可输入新报名数据,表单下安排一个[提交]按钮
第二个文件:添加功能 由/cgi-bin/add.py文件实现
首先,用cgi.FieldStorage 获取用户提交的报名的 单位、姓名、电话、备注 这4个字段
然后,用INSERT 命令把新报名资料插入数据库
最后,print一段js代码给浏览器刷新显示报名页面
第三个文件:删除功能 由/cgi-bin/del.py文件实现
首先,用cgi.FieldStorage 获取用户要删除的记录号
然后。用DELETE命令在数据库删除指定记录
最后,print一段js代码给浏览器刷新显示报名页面
组合效果
以上3个文件,放在cgi-bin目录下,然后用一行命令启动服务器(参考前文《花5分钟教会你用python搭建出一个动态网页,零基础也能学得会》)
最终效果是这样的
结束语
这是利用python的cgi方式实现的一个小功能网站,附上全部代码,有助于初学者学习理解网站的运行原理。对于报名这种小型应用,用CGI方式实现也足够了。实际操作中,我们搭建小应用更多的是使用一些第三方的模块,例如tornado等等。只是,如果用这些封装好的模块,往往需要一些面向对象的知识和装饰器的基本知识,小学里面给小朋友做实验的时候反而麻烦。
不过麻烦归麻烦,工作中终归还是要学会用的,后面计划介绍下tornado的基本使用,同样是搭建一些小应用,更进一步我们还要实现登陆登出的基本管理功能。
用简单的视频教程,让初学者玩转python,请及时关注头条号“有只狗狗叫多多”,不要错过哦。。。。