플라스크의 request.form.getlist를 사용하면 목록의 마지막 값만 가져옵니다. 여기에 .py 코드와 html이 있습니다. 다음 세 줄을 표시하지 않으면 전체 목록이 표시되지만 html 표 행의 헤더가 누락됩니다.플라스크의 getlist
<form action="{{ url_for('show_entries')}}" method=get>
<td width="50"><font size="2">{{ L }}</font></td>
</form>
어떻게해야합니까? 어떤 힌트 주셔서 감사합니다!
from flask import Flask, render_template, request, url_for
app = Flask(__name__)
data = [
('t', 0, 'a'),
('t', 0, 'b'),
('t', 0, 'c'),
('t', 0, 'd')
]
@app.route('/', methods=['GET', 'POST'])
def show_entries():
entries=[]
for (i,v) in enumerate(data):
entries.append(data[i][2])
return render_template('layout2.html', entries=entries)
@app.route('/get', methods=['GET', 'POST'])
def get_entries():
cl1=[]
cl1=request.form.getlist('cn')
return render_template('test2.html', cl1=cl1)
if __name__ == "__main__":
app.debug = True
app.run()
layout2.html 파일이다
<!DOCTYPE HTML>
<table>
{% for L in entries %}
<tr>
<form action="{{ url_for('show_entries')}}" method=get>
<td width="50"><font size="2">{{ L }}</font></td>
</form>
<form action="{{ url_for('get_entries')}}" method=post>
<td width=100 align=center><input type=text name=cn size=3 value=0.0></td>
</tr>
{% if loop.last==True %}
</table>
<br>
<div ALIGN=left>
<input type=submit value=Submit>
</form>
</div>
{% endif %}
{% endfor %}
test2.html은 :
<!DOCTYPE HTML>
<div ALIGN="center">
<td width="50"><font size="2" face="verdana" color="red">OUTPUT=</font></td>
<form action="{{ url_for('get_entries')}}" method=get></form>
<td width="50"><font size="2" face="verdana" color="red">{{ cl1 }}</font></td>
</div>
감사하지만 getlist는 여전히 마지막 값만 반환합니다 ... – mannaia
즉, 사용되지 않는 코드 (부끄러운 것 ...)가 [getlist] (http : // werkzeug. pocoo.org/docs/datastructures/?highlight=getlist#werkzeug.datastructures.Headers.getlist) ....이 주제의 제목에 집중하십시오 ... – mannaia