在 Django 中将值传递给 Bootstrap 模式

Posted

技术标签:

【中文标题】在 Django 中将值传递给 Bootstrap 模式【英文标题】:Passing value to Bootstrap modal in Django 【发布时间】:2012-10-21 12:58:18 【问题描述】:

我有一个很好的模式,每次用户想要删除数据时都会显示一个删除确认对话框。问题是我的许多视图在模板中呈现元素列表,每个元素都有其详细信息以及一个小的删除红色按钮。当然,在 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 不正确。

【问题讨论】:

如果每个客户端在&lt;a href="% url delete_client client.id %" 生成的 url 都不同,您是否检查了生成的 HTML? 是的,抱歉,该行不正确,例如,我已对其进行了编辑,完整的 HTML 显示了我的确切 HTML。谢谢 我的意思是询问在尝试加载页面后在您的浏览器中生成的 HTML。不包含 Django 模板标签的那一种。在那里,是为每个客户唯一生成的 href。 您能否将生成的 HTML 和 javascript 代码粘贴到 jsfiddle 中。没有django模板标签的代码。 如果您解决了问题,请将其作为答案并接受。不要在标题中添加 [已解决]。 【参考方案1】:

找到了这个问题的答案,实际上感谢 keithxm23。

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

【讨论】:

我面临同样的问题。但是这个解决方案对我不起作用。【参考方案2】:

@普拉奇夏尔马

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

【讨论】:

以上是关于在 Django 中将值传递给 Bootstrap 模式的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django-registration 中将帐户信息传递给 django 模板?

如何在 Django 项目中将请求传递给 Celery 任务参数?

在django中将动态变量从父模板传递给子模板

在Django中将上下文从子模板传递给父模板

在 Django 1.11 中将 QuerySet 传递给 Celery 任务

django中将views.py中的python方法传递给html模板文件