将html表单值发布到python脚本

Posted

技术标签:

【中文标题】将html表单值发布到python脚本【英文标题】:Posting html form values to python script 【发布时间】:2022-01-18 21:48:23 【问题描述】:

我已经创建了带有文本框和按钮的 html 表单

输入你的搜索关键字

我的要求是将文本框的值传递给我的 test.py 代码,有什么办法吗? 请建议我怎么做。

【问题讨论】:

【参考方案1】:

在表单动作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> 

在你的 test.py 中

import cgi
form = cgi.FieldStorage()
searchterm =  form.getvalue('searchbox')

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

【讨论】:

感谢您的回复,我已按照您的程序进行操作,但是当我单击提交按钮时,我会在浏览器中获取 test.py 的完整代码。 谢谢它的工作,但我有另一个要求。当我运行我的 test.py 脚本时,它正在创建一个 .jpg 文件。那么如何在浏览器上显示我的 .jpg 文件。 参考这个tutorialspoint.com/python/python_cgi_programming.htm,在那里你会找到你需要知道的关于PYTHON CGI的一切 @VittalCherala 如果您有其他问题,请创建另一个问题(除了您必须在退货中指定内容类型:例如 print("Content-type: image/jpg") 然后给出您的图像数据) @YuvrajGupta:你得到代码是因为 web 服务器不知道它必须执行 python 代码,所以它只是在浏览器上提供 python 文件。要运行代码,请按照本文档中的指南配置 Web 服务器的说明进行操作:tutorialspoint.com/python/python_cgi_programming.htm【参考方案2】:

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

<form name="input" action="../cgi-bin/name_of_script.py" method="get">

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

AddHandler cgi-script .cgi .pl .asp 

并将其更改为

AddHandler cgi-script .cgi .pl .asp .py

在脚本中添加您拥有的 python 版本 例如我添加了

#!C:\Python27\python.exe

因为我已经在上面的目录中安装了python27。

另外,如果你在 python 中打印一些东西,把这一行放在脚本的顶部

print "Content-Type: text/html; charset=utf-8\n\n";

上面的搜索框脚本对我来说很好用。 我的操作系统是windows真的让我很头疼,我找了找上面的解决办法。

【讨论】:

以上是关于将html表单值发布到python脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何将参数从脚本传递到 html 表单值

需要触发接受Django表单的文本字段值作为参数

Django 将输入数据从 HTML 文件传递​​到 python 脚本,然后将最终数据发送到另一个 HTML 文件

Python CGI 是不是收到由 JQuery 在提交时设置的表单值?

如何使用 python 将字典值插入到 html 模板文件中?

将Python脚本的输出链接到C ++程序的输入