我有一个带有模板的烧瓶应用程序,我在其中使用jinja语法循环 . 问题是我不知道为什么行[5]没有改变而其他人工作正常 . <p>{{ row[5] }}</p> 可能不会在嵌套在td标记内的div中循环 . 发送到页面的数据应循环4次 .

{{row [5]}}
这不断给我第一个循环的 Value . 代码如下:

{% for row in data %}
            <tr>
              <td>{{ row[2] }}</td>
              <td>{{ row[1] }}</td> 
              <td>{{ row[3] }}</td>
              <td>
              <button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="#myModal">Backup</button>
              <div id="myModal" class="modal fade" role="dialog">
                <div class="modal-dialog">
                  <div class="modal-content">
                    <div class="modal-header">
                      <button type="button" class="close" data-dismiss="modal">&times;</button>
                      <h4 class="modal-title">Modal Header</h4>
                    </div>
                    <div class="modal-body">
                      <p>{{ row[5] }}</p>
                    </div>
                    <div class="modal-footer">
                      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    </div>
                  </div>

                </div>
              </div>
              </td>
              <td>Backup</td>
            </tr>
        {% endfor %}

即使这里的数据无关紧要 . 有人问,我会把它放在这里 . 数据类似于:

data=((1,2,3,4,5,6,7,8),(1,2,3,4,5,6,7,8))

这是我渲染模板的方式:

@app.route('/home')
def home(methods=['GET']):
    cursor = conn.cursor()
    cursor.execute("SELECT * from hosts_custom;")
    data = cursor.fetchall()
    print data
    return render_template('index.html',data=data)

事实证明它是id,目标始终保持不变 . 因此,当我点击按钮时,它会一直盯着myModal目标 . 谢谢大家的帮助!

解决方案

我使用的解决方案非常简单 .

<button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="#myModal{{ loop.index }}">Backup</button>
                      <div id="myModal{{ loop.index }}" class="modal fade" role="dialog">