如何将HTML表单输入传递到Python脚本?
我有这样的表单标签如何将HTML表单输入传递到Python脚本?,python,html,Python,Html,我有这样的表单标签 <form name="input_form" action="/test.py" method="get"> Set Frequency: <input type="number" name="set_freq" id="set_freq"> <br> <input type="submi
<form name="input_form" action="/test.py" method="get">
Set Frequency: <input type="number" name="set_freq" id="set_freq"> <br>
<input type="submit" value="Submit" />
<input id="reset" type="reset" value="Reset" /><br>
</form>
设置频率:
我需要让它在哪里,用户输入1500或任何值,然后一旦点击submit,这个数字就立即传递给python程序test.py。实现这一点的方法不止一种,您可以使用CGI(调用python脚本并提供输出的Web服务器)或类似Django或Flask的WSGI框架,或者其他方法。当然,也需要从“典型”的Web服务器(如apache或Nginx)或Gunicorn等提供服务 我的建议是使用类似Flask的框架来完成该任务 通过运行安装,最好在虚拟环境中:
pip install flask
然后你可以写一些简单的东西,比如
from flask import Flask, request, render_template
# Flask constructor
app = Flask(__name__)
# A decorator used to tell the application
# which URL is associated function
@app.route('/test.py', methods =["GET", "POST"])
def get_freq():
if request.method == "POST":
# getting input with freq = set_freq in HTML form
freq = request.form.get("set_freq") # <--- do whatever you want with that value
return "Your freq value is " + freq
return render_template("form.html")
if __name__=='__main__':
app.run()
你试过了吗?烧瓶会让这一切变得简单很多……我认为烧瓶会让一切变得更糟、更困难!可以说有很多更好的Web服务器,比如我试过的flask,是的,它似乎只是导致了很多问题。我试过使用cgi,但也没有成功。谢谢你的回答,我很感激。因此,当我运行并填充set_freq变量时,如何从那里获得它?我有一个API要使用,我会在那个API中添加这个吗?或者这是一个独立的常设程序?@luke您运行脚本,它应该在后台运行,然后当您提交表单时,脚本将在我注释的行中获取您的值,我通过
使用该值做任何您想做的事。这一行只需打印您可以执行任何其他操作的值。请检查代码。此外,我更新了我的答案,以参考Flask教程,以便在您决定使用推荐的方法时使用。此外,您可以分享更多关于您在test.py中使用的实际代码的信息,这样我可以进一步帮助您,或者如果您有任何疑问,请不要犹豫,在下面发表评论。非常感谢您的解释,非常棒,您是最好的。我很感激@卢克很高兴我帮了忙。为了完整起见,我再次更新了答案。同时,如果此答案满足您的需求,请将其标记为已接受答案。