web应用
----web请求作为某个用户交互的结果由web浏览器发送到web服务器
----在web服务器上会生成web 响应 发回到web浏览器
web请求:
静态内容(static content)
动态内容(dynamic content):web服务器会运行一个程序来生成web响应
这里生成动态内容要用 CGI 脚本
好的web应用应当遵循 模型-视图-控制器(Model-View-Controller)MVC
Model模型:存储(以及有时处理)web应用数据的代码
View视图:格式化和显示web应用用户界面的代码
Controller控制器:将web应用“粘合”在一起并提供业务逻辑代码
为web应用构建各个MVC组件、
为数据建模
web服务器需要存储数据的一个副本
then 构建模块athletemodel.py
put_to_store():启动web应用时把文本中的数据转换为AthleteList对象实例(AthleteList类是为例子中数据格式创建的类),存储在一个字典中,然后保存为一个pickle文件
get_from_store():pickle文件中的数据可以作为一个字典供应用使用
查看界面
视图代码,创建web应用的用户界面(UI)
书中提供了一个库YATE,仅在该例中为web应用用户界面生成HTML
控制代码
用控制器把模型代码视图代码粘合起来
首要的事情:合理安排web应用的目录结构,保证它有条理有组织
CGI 是一个Internet标准,允许web服务器运行一个服务器端程序,称为CGI脚本
一般地,CGI脚本都放在一个名为cgi-bin的特殊文件夹下
所有的web服务器都支持CGI
建立一个CGI脚本
generate_list.py
,从而生成HTML页面
测试CGI脚本,需要启动一个web服务器
py
thon提供了自己的web服务器,这个例子中用的web服务器就是该服务器
simplehttpd.py
from http.server import HTTPServer, CGIHTTPRequestHandler
port = 8080
httpd = HTTPServer(('', port), CGIHTTPRequestHandler)
print("Starting simple_httpd on port: " + str(httpd.server_port))
httpd.serve_forever()</span>