如何在处理程序 Flask 中获取表单字段?

How to get form field in handler Flask?

我有一些 Flask 形式的输入字段:

<input type="time" name="time[0]"/>
<input type="time" name="time[1]"/>
<input type="time" name="time[2]"/>

我尝试获取这些输入值,例如:

values = request.args.get('time')

for v in values
    print v

但这对我不起作用。

另外据我所知我不能使用 <input type="time" name="time[]"/>

我有一个最小的烧瓶服务器,

from flask import request
from flask import Flask
from flask import render_template

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def login():
    values = request.args.getlist('time[]')
    print values
    values = request.form.getlist('time[]')
    print values

    if request.method == 'POST':
      # The logic may goes here...
      return render_template('test.html')
    else:
        return render_template('test.html')

HTML 模板(test.html) 是,

<form method="get">
<input type="time" name="time[]"/>
<input type="time" name="time[]"/>
<input type="time" name="time[]"/>
<input type="time" name="time[]"/>
<input type="submit"/>
</form>

在输入时间后提交表单时,以下是我收集数据的方式。

values = request.args.getlist('time[]')
print values # Printed [u'17:06', u'09:00', u'22:01', u'07:08']

当表单的方法更改为 "post" 时,我正在获取数据,

values = request.form.getlist('time[]')
print values # Printed [u'17:06', u'09:00', u'22:01', u'07:08']

希望,应该工作!如果我的代码片段偏离了您的要求,请告诉我。