4

我正在设计一个包含多个重复条目的页面。例如:

<input type="text" name="fname1" /><input type="text" name="lname1" />
<input type="text" name="fname2" /><input type="text" name="lname2" />
<input type="text" name="fname3" /><input type="text" name="lname3" />
.
.
.
<input type="text" name="fnameN-1" /><input type="text" name="lnameN-1" />
<input type="text" name="fnameN" /><input type="text" name="lnameN" />

我正在使用 Flask+Jinja2,所以很明显我正在生成那个 html:

{% for fname, lname in names %}
    <input type="text" name="fname{{ loop.index }}" value="{{ fname }}" /><input type="text" name="lname{{ loop.index }}" value="{{ lname }}" />
{% endfor %}

但是现在我想在有人更新它们之后将这些值从这个表单中提取出来。

做这个的最好方式是什么?我最初的想法是做这样的事情:

for x in range(1, N):
    fname = request.form.get("fname%d" % x)
    lname = request.form.get("lname%d" % x)

但出于某种原因,这对我来说感觉很笨拙。我希望有类似的东西:

for fname, lname in request.form.get_all('fname%d', 'lname%d'):
    # Stuff here

当然,我在搜索中没有找到任何东西,否则我也会在这里发布答案。有没有“最好的方法”来做到这一点,还是我应该自己动手?

4

1 回答 1

2

这是评论中讨论的解决方案。我之前回答过

flask.request.form 中的动态表单字段

于 2013-07-23T20:17:45.737 回答