如何创建和使用Python CGI脚本

Python012

如何创建和使用Python CGI脚本,第1张

CGI脚本 也是一个普通的Python脚本,创建CGI脚本,就是创建一个py文件。只不过需要在文件内部引入cgi模块。

由于CGI是用于服务器和客户端进行交互的,所以在表单的action中就可以配置cgi脚本,发起请求时,由服务器调用该url,然后启动相应的脚本,解析,返回

这次又要逼真一点点,可以弄POST请求啦。

在WEB根目录下新建cgi-bin目录(据说是规模要求),然后运行命令:

1

python -m CGIHTTPServer

CGI-BIN目录下,form.py处理POST请求的内容(简化到不行):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

# -*- coding: utf-8 -*-

import cgi

header = 'Content-Type: text/html\n\n'

html = '<h3>接受处理表单数据\n</h3>'

#打印返回的内容

#print header

#print html

# 接受表达提交的数据

form = cgi.FieldStorage()

#print '接收表达get的数据 :',form

print '<p />'

# 解析处理提交的数据

content = form['userName'].value

print content, '$$$$$$$$$$$$$'

formhtml = '''

%s

'''

print formhtml % ('登陆成功')

然后,就可以测试EXTJS中的提交表单更新HTML元素啦。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<!DOCTYPE html>

<html>

<head>

<title>ExtJs</title>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8"/>

<link rel="stylesheet" type="text/css" href="ExtJs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css">

<script type="text/javascript" src="ExtJs/ext-all.js"></script>

<script type="text/javascript" src="ExtJs/bootstrap.js"></script>

<script type="text/javascript" src="ExtJs/packages/ext-theme-crisp/build/ext-theme-crisp.js"></script>

<script type="text/javascript">

Ext.onReady(function(){

var loader = Ext.get("loginMsg").getLoader()

Ext.get('loginBtn').on('click', login)

function login(){

loader.load({

form: "loginForm",

url: '/cgi-bin/form.py'

})

}

})

</script>

</head>

<body style="margin: 20px">

<form id="loginForm">

用户名:<input name="userName" type="text">

密码:<input name="password" type="password">

<input type="button" value="登陆" id="loginBtn">

</form>

状态:<span id="loginMsg"></span>

</body>

</html>

如果现实是无极,那内存就是太极,CPU的作用只是力图将线性化的空间还原为立体化的空间。其间当然要涉及映射运算。