如何最有效地从网页输入数据到Python脚本

时间:2011-11-15 13:28:10

标签: php python forms cgi web

如何最轻松地从网页输入数据并将其传递给Python脚本?

我一直在这里和其他论坛上阅读很多关于Python与php或cgi,甚至Tornado,Django等有关的内容,但我很困惑,对我来说什么是最好的解决方案。

我有一个Python脚本,可以从网上抓取数据,生成.html页面等 - 在运行时只有一个

userIn=str(raw_input())

使脚本根据终端中的输入收集数据。我现在只希望这个输入来自某种

<html>
<body>

<form action="test.php" method="get">
Name <input type="text" name="name" />
<input type="submit" />
</form>

</body>
</html> 

在test.php文件中我试过传递任何类型的值(proc_open,exec ...)但我似乎没有得到python和这个表单之间的连接,最重要的是我不知道是什么将python的输出(一些调试错误等)传递回web界面的最佳方法是什么?!

非常感谢!

3 个答案:

答案 0 :(得分:2)

我现在使用exec()命令管理它。

<html>
<body>

<form action="test.php" method="get">
<input type="text" name="name" />
<input type="submit" />
</form>

</body>
</html> 

test.php的:

<?php
exec("python mypythonscript.py ".$name, $output);
?>

答案 1 :(得分:0)

使用php passthru()函数。

答案 2 :(得分:0)

要从表单中获取值,您可以将action="test.php"更改为action="/where_you_hooked_your_webapp"

应用程序的代码可以是:

from flask import Flask, render_template, request

app = Flask(__name__)

@app.route('/')
def handle_input():
    userIn = request.args.get('name', 'default name goes here')
    # grab data from the web, prepare data for html template, etc
    return render_template('user.html', user=userIn, data=data)

要了解如何部署它,请参阅Flask Quickstart,例如Apache with mod_wsgi