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 に答える