我有这个代码,我无法运行它因为我收到此错误: “TypeError:'classobj'对象不可订阅” 这是我的代码:
import cgi
import customerlib
form=cgi.FieldStorage
history = customerlib.find(form["f_name"].value,form["l_name"].value)
print "Content-type: text/html"
print
print """<html>
<head>
<title>Purchase history</title>
</head>
<body>
<h1>Purchase History</h1>"""
print "<p>you have a purchase history of:"
for i in history: "</p>"
print""" <body>
</html>"""
我在此文件旁边有customerlib文件。知道怎么解决吗?
答案 0 :(得分:6)
form=cgi.FieldStorage
FieldStorage
是一个类,而不是一个对象。您需要将其实例化以创建FieldStorage
对象:
form=cgi.FieldStorage()
form["f_name"]
上有错误,因为表单当前是FieldStorage
类的别名,而不是FieldStorage
类型的对象。通过实例化,它可以做你认为它应该做的事情。
查看cgi module documentation以获取有关如何使用CGI模块的更多详细信息。