烧瓶模板jinja没有像预期的那样循环

时间:2017-09-04 08:54:48

标签: python flask jinja2

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

{{row [5]}}

这不断给我第一个循环的值。代码如下:

        {% 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">

0 个答案:

没有答案