将值传递给Django中的Bootstrap模式

时间:2012-10-31 22:53:50

标签: python html django html5 twitter-bootstrap

每次用户想要删除数据时,我都有一个很好的模态显示删除确认对话框。问题是我的很多视图都在渲染模板中的元素列表,每个元素都有它的细节以及一个微小的删除红色按钮。当然在django中,视图会将一个元素列表传递给模板,例如客户端列表,它们将在如下表中呈现:

<table class="table table-striped">  
    <thead>  
      <tr>
        <th>Email</th>
      </tr>  
    </thead>  
    <tbody>
      {% for client in clientes %}
        <tr>  
          <td>{{ client.email }}</td>
          <td>
            <div class="btn-group">
              <!-- Delete button -->
              <a href="#myModal" class="btn btn-danger btn-mini" title="Eliminar">
                <i class="icon-trash icon-white"></i></a>
            </div>
          </td>
        </tr> 
      {% endfor %}
    </tbody>  

每当用户按下删除按钮出现并确认他正在删除某些数据时,我想要一个Bootstrap模式。现在,我已经设法使模式出现并删除用户,但不是正确的用户,模式以某种方式获取,或者尝试删除列表中的第一个用户。您可以在以下链接中使用模式检查我的整个模板:FULL HTML

最后,我的问题在某种程度上与将正确的{{client}}传递给模态而不是客户列表中的第一个有关,我想这是因为for上的第一个声明的模态然后不再声明它。

例如,我在表中有3个客户:

client1@something.com         detele-button
client2@something.com         detele-button
client3@something.com         detele-button

无论我按什么客户端删除按钮,它总是显示带有client1数据的模态,如果按确认删除,实际上会删除它。

谢谢。

edit1:href不行。

2 个答案:

答案 0 :(得分:6)

找到了答案,实际上归功于keithxm23。

检查生成的HTML有助于我理解这一点。实际上每个模态都是正确生成的,问题是每个模态的id属性设置为相同,在本例中为id="myModal",删除按钮为href="#myModal"。解决方案是在整个文档中将模态id属性设置为唯一值,我设法通过设置模态id="{{client.pk}}"和按钮href="#{{client.pk}}"来实现。

答案 1 :(得分:0)

@Prachi Sharma

这可能是因为您使用的是整数,因此在 css 中标识符不能以数字、两个连字符或连字符后跟一个数字开头。你可以试试id="letter or word{{client.pk}}" href="#letter or word{{client.pk}}"