如何获取Jinja2生成的输入值数据?

Tia*_*ing 5 python jinja2 flask web

在我的HTML文件中,我有:

  <table>
      {% for user in user_data_html %}
      <tr>
         <td>
            <input id="firstname" name="firstname" type="text" value='{{ user.FirstName }}' />  
         </td>
         <td>
             <input name="submit" type="submit" value='update' />
         </td>
     </tr>
     {% else %}
     <tr><td>no user found</td></tr>
     {% endfor %}
 </table>
Run Code Online (Sandbox Code Playgroud)

我想通过单击每行中的更新按钮来修改网页中的用户名.但我总是在后端使用以下python代码获得第一个"firstname":

firstname = request.form['firstname']
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

And*_*oos 6

当您为每个输入名称使用相同的名称时,表单会混淆.您可以使用名字在每个表格单元格周围创建单独的表单,也可以使用jinja2循环索引创建唯一的输入名称...

<input id="firstname{{ loop.index }}" name="firstname{{ loop.index }}" type="text" value='{{ user.FirstName }}' />
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!