将html表单值发布到python脚本

Vit*_*ala 14 html php python

我用文本框和按钮创建了html表单

输入你的搜索关键字

我的要求是将文本框值传递给我的test.py代码,有没有办法做到这一点.请建议我怎么做.

sco*_*lta 21

在表单操作中form action="",将您的cgi脚本的位置和文本框的值传递给cgi脚本.例如.

<form name="search" action="/cgi-bin/test.py" method="get">
Search: <input type="text" name="searchbox">
<input type="submit" value="Submit">
</form> 
Run Code Online (Sandbox Code Playgroud)

在你的test.py中

import cgi
form = cgi.FieldStorage()
searchterm =  form.getvalue('searchbox')
Run Code Online (Sandbox Code Playgroud)

因此,您将获得在python中searchterm变量的搜索文本框中输入的关键字.

  • 感谢您的回复,我已按照您的程序,但我在浏览器中获取完整的test.py代码,当我单击提交按钮时. (3认同)
  • 请参阅此http://www.tutorialspoint.com/python/python_cgi_programming.htm,在那里您将找到有关 PYTHON CGI 所需了解的所有内容 (3认同)
  • @YuvrajGupta:您正在获取代码,因为Web服务器不知道它必须执行python代码,因此只在浏览器中提供了python文件。要使代码运行,请按照此文档上的准则按照有关配置Web服务器的说明进行操作:http://www.tutorialspoint.com/python/python_cgi_programming.htm (2认同)

Xan*_*aki 5

我在浏览器中获取代码时遇到问题。安装了 python 和 xampp。我将 .py 脚本放入 cgi-bin 中,然后从这样的 html 页面调用它

<form name="input" action="../cgi-bin/name_of_script.py" method="get">
Run Code Online (Sandbox Code Playgroud)

将html页面放入xampp的htdocs中。在 httd.conf 中找到该行

AddHandler cgi-script .cgi .pl .asp 
Run Code Online (Sandbox Code Playgroud)

并将其更改为

AddHandler cgi-script .cgi .pl .asp .py
Run Code Online (Sandbox Code Playgroud)

在脚本中添加您拥有的Python版本,例如我添加的

#!C:\Python27\python.exe
Run Code Online (Sandbox Code Playgroud)

因为我在上面的目录下安装了python27。

另外,如果你在 python 中打印一些内容,请将这一行放在脚本的顶部

print "Content-Type: text/html; charset=utf-8\n\n";
Run Code Online (Sandbox Code Playgroud)

上面的搜索框脚本对我来说效果很好。我的操作系统是Windows,着实让我着迷,我找啊找,找到了上面的解决方案。