python基础-基于CGI的web应用开发

用一个“网上水果店”的web应用示例,简要介绍如何用Python实现基于CGI标准的Web应用,介绍python的cgi模块、cigtb模块对编写CGI脚本提供的支持。

 

CGI简介

CGI Common Gateway Interface (通用网关接口),是一个Internet标准,允许Web服务器运行一个服务器端程序,称为CGI脚本。一般的,CGI脚本都放在一个名为cgi-bin的特殊文件夹内,这样web服务器就知道到哪里查找cgi脚本。

python基础-基于CGI的web应用开发_第1张图片

 

 

“网上水果店”Web应用目录结构见下图(详细代码请见https://download.csdn.net/download/HXiao0805/12982878)

(操作系统:win10;python版本:3.6.2)

python基础-基于CGI的web应用开发_第2张图片

1、Web服务器

所有的Web应用都要在Web服务器上运行,实际上所有的web服务器都支持CGI,无论是Apache、IIS、nginx、Lighttpd还是其他服务器,它们都支持用python编写的cgi脚本。这些web服务器都比较强大,这里我们使用python自带的简单的web服务器,这个web服务器包含在http.server库模块中。

run_server.py:

运行此程序,即启动此web应用。

# -*- coding: utf-8 -*-
"""
Created on Wed Sep  9 09:38:52 2020
Web服务器
所有的Web应用都要在Web服务器上运行,
实际上所有的web服务器都支持CGI,
无论是Apache、IIS、nginx、Lighttpd还是其他服务器,
它们都支持用python编写的cgi脚本。这些web服务器都比较强大,
这里我们使用python自带的简单的web服务器,
这个web服务器包含在http.server库模块中。
@author: hanxiao
"""
from http.server import HTTPServer, CGIHTTPRequestHandler

port = 8099

httpd = HTTPServer(('', port), CGIHTTPRequestHandler)
print("Starting simple_httpd on port: " + str(httpd.server_port))
httpd.serve_forever()

 

2、index.html

首页;URL: “http://localhost:8099/cgi-bin/fruit_list_view.py” 将调用 cgi-bin文件夹下的fruit_list_view.py




FruitStore


Welcome to fruit Store.

This is a fruit store,it has some books,please choose your favorite fruit, then click here.(这是一家水果商店,里面有一些水果,请选择你喜欢的进行查看,现在开始吧!)

Now Enjoy!

 

3、fruit_list_view.py

图书清单页面。用户选择要查看的图书,提交表单,然后调动图书详细界面。

4、yate.py

自定义的简单模板,用于快捷生成html

5、fruit_detail_view.py

图书详细页面

6、Fruit.py

图书类

7、fruit_service.py

图书业务逻辑类

8、fruit.txt

待显示的水果信息(名称;产地;价格)

香蕉;海南;$123.01
苹果;辽宁;$32.23
橘子;河南;$45.88
山竹;海南;$87.99
水晶梨;浙江;$71
火龙果;Canada;$89.56
葡萄;辽宁;$91

 

测试结果:

python基础-基于CGI的web应用开发_第3张图片

python基础-基于CGI的web应用开发_第4张图片

python基础-基于CGI的web应用开发_第5张图片

喜欢我的文章希望和我一起成长的宝宝们,可以搜索并添加公众号TryTestwonderful ,或者扫描下方二维码添加公众号

 

你可能感兴趣的:(python)