如何将参数传递给python?

How can I pass parameters to python?

提问人:kyoungwon cho 提问时间:7/24/2017 最后编辑:kyoungwon cho 更新时间:7/25/2017 访问量:960

问:

未传递 python 参数。

我认为 cgi。FieldStorage()似乎不起作用。 我应该添加哪些设置?

cgi.html :

<form action="cgi.py" method="get">
First Name: <input type="text" name="first_name">  <br />

Last Name: <input type="text" name="last_name" />
<input type="submit" value="Submit" />
</form>

cgi.py :

# Import modules for CGI handling
import cgi, cgitb
cgitb.enable()

# Create instance of FieldStorage
form = cgi.FieldStorage()

# Get data from fields
first_name = form.getvalue('first_name')
last_name  = form.getvalue('last_name')

print "Content-type:text/html\r\n\r\n"
print "<html>"
print "<head>"
print "<title>Hello - Second CGI Program</title>"
print "</head>"
print "<body>"
print "<h2>Hello %s %s</h2>" % (first_name, last_name)
print "</body>"
print "</html>"

Chrome 结果:

enter image description hereApache版本:

httpd-2.4.6-40.el7.centos.4.x86_64
python-2.7.5-48.el7.x86_64
蟒蛇 mod-python

评论

0赞 Blckknght 7/24/2017
不知道它是否相关,但你在第一个标签的末尾缺少一个。/input
1赞 Daniel Roseman 7/24/2017
你在这里完全混淆了 mod_python 和 CGI。它们根本不是一回事。您无需mod_python即可通过 Python 运行 CGI 程序;mod_python 中的 CGIHandler 类明确存在“作为将遗留代码从 CGI 迁移的垫脚石”,它不是用来编写新的 CGI 服务。(实际上,你根本不应该编写新的 CGI 服务,但那是另一回事。
0赞 kyoungwon cho 7/25/2017
我们很清楚 cgi 和 mod_python 之间的关联。但上述问题仍无法解决。我想在参数传递方面取得成功。我该怎么办?

答:

0赞 Hemang Rindani 7/24/2017 #1

尝试在调用时使用 If else 条件 形式 = CGI。字段存储()

除此之外,代码和格式对我来说看起来不错。但是,您可以完成一个简单的教程,如下所示。这将帮助您填写表单中的值,如下所示 值 = form.getlist(“ ”)

编号: https://docs.python.org/2/library/cgi.html