主旨:

0.环境说明

1.创建一个cgi本地服务

2.创建一个html表单页

3.创建一个对应的cgi 脚本文件

4.运行调试

0.环境说明:

系统:win7 32位家庭版

python:2.7

代码编写工具:notepad++

1.创建一个cgi本地服务

打开cmd终端,在电脑创建一个服务代码存储的文件目录,此处为:E:\python_code\cgi_server,这边为了归档cgi文件,在cgi_server目录下创建一个cgi-bin目录

目录创建完毕后再终端运行python -m CGIHTTPServer指令开启服务(这边默认端口为8000,也可以指定一个端口:python -m CGIHTTPServer 8080)

注:编辑cgi的.py文件可以存放在刚刚新建的cgi-bin目录下,action访问路径则为:cgi-bin/*.py

2.创建一个html表单页

<html>
<head><title>hello cgi</title></head>
<body>
<form action="/cgi-bin/indexl.py">
your name is :<input type="text" name="name"/>
<input type="submit"/>
</form>
</body>
</html>

3.创建一个对应的cgi 脚本文件

result后面字符串的第一行内容是为了将此处生成的html页面指向浏览器进行显示输出(ps:本地验证了去掉第一行类型的代码,浏览器也可以正常访问)

cgi.FieldStorage可以获取html页面请求的表单数据,
class FieldStorage
| Store a sequence of fields, reading multipart/form-data.
|
| This class provides naming, typing, files stored on disk, and
| more. At the top level, it is accessible like a dictionary, whose
| keys are the field names. (Note: None can occur as a field name.)
| The items are either a Python list (if there's multiple values) or
| another FieldStorage or MiniFieldStorage object. If it's a single
| object, it has the following attributes:
|
| name: the field name, if specified; otherwise None
 import cgi

 form = cgi.FieldStorage()
name = form['name'].value
result = '''Content-Type: text/html \n
<html>\n
<head>\n
<title>result html</title>\n
</head>\n
<body>\n
my name is %s\n
</body>\n
</html>'''
print result % name

4.运行调试

cgi创建web应用(一)之传递表单数据与返回html的更多相关文章

  1. 表单生成器(Form Builder)之mongodb表单数据查询——返回分页数据和总条数

    上一篇笔记将开始定义的存储结构处理了一下,将FormItems数组中的表单项都拿到mongodb document的最外层,和以前的关系型数据类似,之不过好多列都是动态的,不固定,不过这并没有什么影响 ...

  2. flask 利用flask_wtf扩展 创建web表单

    在Flask中,为了处理web表单,我们一般使用Flask-WTF扩展,它封装了WTForms,并且它有验证表单数据的功能 创建语句格式: startTime = DateTimeField('计划开 ...

  3. C++后台实践:古老的CGI与Web开发

    本文写给C/C++程序猿,也适合其他对历史感兴趣的程序猿 ============================================= 谈到web开发,大家首先想到的PHP.JavaEE ...

  4. jmeter 创建web测试计划

    测试用例: 1 创建5个用户发送请求到2个web页面: 2 发送3次请求 总请求=5*2*3=30 创建这个测试计划需要用到以下元素:thread groups / http request / ht ...

  5. WEB入门二 表格和表单

    学习内容 Ø        表格的作用和制作 Ø        表单的制作 能力目标 Ø        掌握表格的创建 Ø        掌握设置表格的常用属性: Ø        理解表单的作用 Ø ...

  6. Servlet学习笔记【1】--- 背景和基础知识(CGI、Web服务器发展史、Servlet简介、任务、继承结构)

    本文主要讲Servlet的基础知识和背景知识. 1 CGI简介 CGI(Common Gateway Interface 公共网关接口)是WWW技术中最重要的技术之一,有着不可替代的重要地位.CGI是 ...

  7. 在Salesforce中创建Web Service供外部系统调用

    在Salesforce中可以创建Web Service供外部系统调用,并且可以以SOAP或者REST方式向外提供调用接口,接下来的内容将详细讲述一下用SOAP的方式创建Web Service并且用As ...

  8. win7 gsoap与vs2010 c++创建Web Service

    ---恢复内容开始--- 之前曾经编写过简单的样例,很久没有碰过,发现已经全部忘记,如今又需要重新巩固一下. 首先是下载gsoap,无法访问官方下载页面,只能在网上搜索,找到一个2.8版本存入云盘以防 ...

  9. DevExpress XtraReports 入门四 创建 Web 报表

    原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这 ...

随机推荐

  1. [React Native] Using the Image component and reusable styles

    Let's take a look at the basics of using React Native's Image component, as well as adding some reus ...

  2. ConvertHelper与泛型集合

    在机房重构时.我们常常会用到ConvertHelper. 它把从数据库中查询到的dateTable(也是一个暂时表)转化为泛型,然后再填充到DataGridView控件中. ConvertHelper ...

  3. python 源码解析

    http://blog.donews.com/lemur/archive/category/cpython%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90/

  4. HttpWebRequest 模拟登录响应点击事件(分享自己用的HttpHelper类)

    平时也经常采集网站数据,也做模拟登录,但一般都是html控件POST到页面登录:还没有遇到用户服务器控件button按钮点击事件登录的,今天像往常一样POST传递参数,但怎么都能登录不了:最后发现还有 ...

  5. 模仿京东顶部搜索条效果制作的一个小demo

    最近模仿京东顶部搜索条效果制作的一个小demo,特贴到这里,今后如果有用到可以参考一下,代码如下 #define kScreenWidth [UIScreen mainScreen].bounds.s ...

  6. docker no permmition problem

    resolved by: sudo docker run --privileged ....

  7. linux解压命令笔记

    转载:http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html .tar 解包:tar xvf FileName.tar打包:tar ...

  8. APUE(3)——文件I/O

    大多数情况下,我们都会利用Standard I/O Library来进行I/O操作,而这一章所讲的I/O是UNIX系统直接提供的I/O操作,且大多是Unbuffered I/O,即每一次读或写都会出现 ...

  9. setTimeout和setImmediate以及process.nextTick的区别

    在javascript中我们了解到了setTimeout和setInterVal函数事件队列(任务队列)的相关知识,除了setTimeout和setInterval这两个方法外,Node.js还提供了 ...

  10. Cookie的属性(cookie的设置、获取和删除)

    每个cookie都有四个可选的属性,他们分别控制cookie的生存周期.可见性.安全性等. Cookies最初设计时,是为了CGI编程.但是,我们也可以使用Javascript脚本来操纵cookies ...