2

如何通过python获取用户为HTML页面提供的文本输入?

例如

<html>
<input id="post_form_id" name="fooput" value="" />
</html>

现在,用户在文本字段中输入值 abcxyz。如何使用 python 获得该值?我已经知道它是如何通过 javascript 完成的,但我想使用 python 来完成。

另外,我已经尝试过 Beautiful Soup,但它只能返回字段的预设值。所以我可以

soup=BeautifulSoup(open("myhtmldoc.htm")) 
print soup.find('input')['value']

但这只会给我预设值,而不是用户给出的值。

4

2 回答 2

4

您需要编写一个在提交表单时调用的脚本。通常,您使用一些处理各种细节的框架。

像这样的轻量级框架Flask使这项任务变得容易:

from flask import Flask, render_template

app = Flask(__name__)

app.route('/',methods=['GET','POST'])
def print_form():
    if request.method == 'POST':
        return render_template('form.html',result=request.form['fooput'])
    if request.method == 'GET':
        return render_template('form.html')

if __name__ == '__main__':
    app.run()

在你的form.html

{% if result %}
    You entered: {{ result }}
{% endif %}
<form method="POST" action=".">
   <input id="post_form_id" name="fooput" value="" />
   <input type="submit">
</form>
于 2012-06-13T06:10:21.393 回答
0

非常好的文档: http: //flask.pocoo.org/docs/0.10/quickstart/ 看看。

编辑:更快一点找到: http: //flask.pocoo.org/docs/0.10/quickstart/#accessing-request-data

于 2014-12-12T20:55:57.513 回答