2016-12-06 53 views
0

我有一个HTML表单,它返回一个提交单个值。的量,代码是如下:CGI - FieldStorage - 来自现场存储的数据返回一个MiniFieldStorage

<form action="/cgi-bin/filter.cgi" method = "get">Filter By Version: <input type="text" name="filter"/><input type="submit" value="submit"/></form> 

的CGI如下:

#!/usr/bin/python 
import cgi 
formData = cgi.FieldStorage() 

当我打印FORMDATA的值。我得到以下输出:

的FieldStorage(无,无,[MiniFieldStorage( '过滤器', '112')])

我怎样才能得到 “过滤器” 的信息?为什么我在“MINIFIELDSTORAGE”中获得价值?

+0

读'CGI' DOC:https://docs.python.org/2/library/cgi.html – furas

回答

1

阅读CGI DOC:https://docs.python.org/3.5/library/cgi.html

你有

value = formData['filter'].value 
value = formData.getvalue('filter') 
value = formData.getvalue('filter', default_value) 

和许多其他方法来获得价值。


在DOC:

...本身(视形式编码或MiniFieldStorage,

当的FieldStorage的实例表单以“旧”格式提交(作为查询字符串或作为application/x-www-form-urlencoded类型的单个数据部分),这些项目实际上将是类MiniFieldStorage的实例。

query string装置的method="GET"代替method="POST"