数値のリストを含むフォームを送信したら、JSON
そのリストに対して実行された単純な計算の結果を (ファイルから) 抽出し、その結果を<div></div>
現在のページのタグ内に出力する必要があります。
以下は、 経由で取得された番号のリストが送信された Flask Python コードですgetlist
。計算結果は最終的にJSON
viaに変換されjsonify
ます。
from flask import Flask,render_template, request, jsonify
app = Flask(__name__)
data = [
('t', 0, 'a'),
('t', 0, 'b'),
('t', 0, 'c'),
('t', 0, 'd')
]
@app.route('/', methods=['GET', 'POST'])
def index():
entries=[]
for (i,v) in enumerate(data):
entries.append(data[i][2])
return render_template('test.html', entries=entries)
@app.route('/_numbers', methods=['GET', 'POST'])
def numbers():
a = request.form.getlist('a')
print a
L=0
v=0
an=0
for L,v in enumerate(a):
an+=float(v)
return jsonify(res=an)
if __name__ == '__main__':
app.debug = True
app.run()
test.html ファイルは次のようになります。
{% extends "test0.html" %}
{% block body %}
<h2>Get the sum of 4 numbers</h2>
<form action="{{ url_for('numbers')}}" method=post>
{% for L in entries %}
<input type=float size=5 name=a>
{% if loop.last==True %}
<input class="btn btn-primary" type="submit" value="Calc" id="calculate">
</form>
{% endif %}
{% endfor %}
{% endblock %}
送信すると、JSON
ファイルの形式で正しい回答が得られます (例):
{
"res": 10.0
}
取得した値を抽出して JQuery 経由で表示するには? 私は試しましgetJSON
たが、成功しませんでした。助けてくれてありがとう。