所用的结构是MVC(model view controllor)
一 M 用于储存web应用数据的代码
put_to_store是读取数据并保存为pickle文件
get_from_store是将pickle文件转为并返回为字典类型的数据(字典里保存的是继承list的类具体如下)
二 V 也就是关于UI(user interface)的代码,在web开发中由标记语言HTML创建(但由于之前没有学习过,就用一个已有的模块yata来生成HTML)
yata中包含了简单的生成HTML的辅助函数
所需要生成的ui有3个
第一个:
运行得HTML:
三 C 将webapp粘合在一起并提供业务逻辑代码
先要安排webapp的目录结构webapp
cgi_bin(cgi脚本代码都放在这个文件夹下)
data(所用的txt文件放在这里)
images(图像文件)
templates(用yata构建html的html模板放这里)
CGI(common gateway interface)为internet的标准,允许web服务器运行一个服务器端程序,称为cgi脚本。
这里解释一下web服务器:Web服务器是指驻留于网上上某种类型计算机的程序;Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序
python提供web服务器的建立
这是把服务器建立在了webapp文件夹下
只要在浏览器打开localhost:8888就可以打开了之前有一个index.html
用户和web服务器互动的过程:
点击timing data链接
发出申请到web服务器(因为链接和generate_list.py链接)web服务器会执行这个脚本
执行完会生成HTML代码web服务器把这个代码发送给用户的浏览器
浏览器根据html生成ui
这个HTML代码中的
从<form到</form>形成了一个表单(表单用于搜集不同类型的用户输入)
点击submit就会把用户的输入传送给action后面的generate_timing_data.py程序
其中cgi.FieldStorage()会获取表单中的数据并放在字典中(name键和value)
tips:cgi.enable()会启用CGI的跟踪功能可以找出代码的错误。
@property使类方法表现的像类属性,所以调用top3时不能加括号
本文介绍了一个使用MVC架构的Python webapp小案例。M部分涉及数据存储,利用pickle处理数据;V部分用yata生成HTML界面;C部分通过CGI实现业务逻辑,包括webapp目录结构、CGI脚本和用户交互过程的解释。通过这个案例,读者可以了解如何建立简单的web服务器并处理用户请求。
675

被折叠的 条评论
为什么被折叠?



