Python flask:通过request.form.Get()方法从多行获取不同的数据
我将Python与flask web框架结合使用。 我有一个3行的网页(也可以少一行或多一行),服务器名可以由用户更新。您可以在附件中看到页面布局。 我在html代码中使用for循环,根据主机名和主机号获取要填充的行。代码是:Python flask:通过request.form.Get()方法从多行获取不同的数据,python,html,flask,Python,Html,Flask,我将Python与flask web框架结合使用。 我有一个3行的网页(也可以少一行或多一行),服务器名可以由用户更新。您可以在附件中看到页面布局。 我在html代码中使用for循环,根据主机名和主机号获取要填充的行。代码是: ... <table class="table table-hover"> <tbody> {% for h in todos_host %} <tr class="th
...
<table class="table table-hover">
<tbody>
{% for h in todos_host %}
<tr class="thead-dark">
<th scope="row" width="30%">Check link: {{ h.hostname }}</th>
<td width="70%"><input class="form-control" name="checklink" type="text" placeholder="ex. http://xxxx"></td>
</tr>
{% endfor %}
</tbody>
</table>
...
。。。
{todos_主机%中h的%s}
检查链接:{h.hostname}
{%endfor%}
...
最终用户将在标有“ex.”占位符的字段中输入不同的数据。
在我的主脚本中,我试图通过request.form.get('checklink')获取行的值,但这一行只获取第一个值(对于gerenbach服务器)。如何在循环中使用此方法来获取每一行的值?不能对每个输入使用相同的名称,应使用不同的方法来标识每个输入。您可以使用
name=“checklink{{loop.index}}”
然后调用request.form.get('checklink1')
,request.form.get('checklink2')
。。。但对于多行,这种模式并不那么清晰。最好的方法可能是以不同的方式构建todos_host,例如,作为dict列表,使用一个与每个主机匹配的清除键。如果您需要更多帮助,请发表您的观点谢谢@PRMoureu我现在可以从不同的字段获取数据,但现在更新数据库是一个问题。当我将数据插入数据库时,要么写入相同的数据,要么只更新最后一列。我认为,正如您所说,最好更改为todos_主机数据类型。我会试试。。。