Python 中 CGI 编程需要哪些模块?


Python 的 cgi 模块通常是编写 Python 中 CGI 程序的起点。cgi 模块的主要目的是从 HTML 表单中提取传递给 CGI 程序的值。大多数情况下,我们通过 HTML 表单与 CGI 应用程序交互。我们在该表单中填写一些值,指定要执行操作的详细内容,然后调用 CGI 使用你的规范执行操作。

你可能会在 HTML 表单中包含许多输入字段,它们可以是多种不同类型(文本、复选框、下拉列表、单选按钮等)。

你的 Python 脚本应以 import cgi 开始。CGI 模块所做的主要工作就是以类字典的方式处理调用 HTML 表单中的所有字段。得到的并不是一个严格意义上的 Python 字典,但很容易使用。让我们看一个示例 -

示例

import cgi
form = cgi.FieldStorage()   # FieldStorage object to
                            # hold the form data
# check whether a field called "username" was used...
# it might be used multiple times (so sep w/ commas)
if form.has_key('username'):
    username = form["username"]
    usernames = ""
    if type(username) is type([]):
        # Multiple username fields specified
        for item in username:
            if usernames:
                # Next item -- insert comma
                usernames = usernames + "," + item.value
            else:
                # First item -- don't insert comma
                usernames = item.value
    else:
        # Single username field specified
        usernames = username.value
# just for the fun of it let's create an HTML list
# of all the fields on the calling form
field_list = '<ul>\n'
for field in form.keys():
    field_list = field_list + '<li>%s</li>\n' % field
field_list = field_list + '</ul>\n'

我们必须做更多工作才能为用户呈现一个有用的页面,但我们已经通过一个提交表单的工作取得了一个良好的开端。

更新于: 16-6 月-2020

186 人浏览

开启您的职业

通过完成课程获得认证

开始
广告