You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中使用htmx插入多行表格行的问题咨询

解决方法

直接用<tbody>标签包裹你要返回的所有<tr>元素,同时保留带hx-swap-oob的<div>即可,htmx会自动处理外层的<tbody>,只把里面的行插入到目标位置,不会破坏页面的表格结构。

举个Django模板的例子:

<tbody>
  {% for entry in new_table_rows %}
  <tr>
    <td>{{ entry.field1 }}</td>
    <td>{{ entry.field2 }}</td>
    <!-- 其他单元格内容 -->
  </tr>
  {% endfor %}
</tbody>
<div hx-swap-oob="true" id="update-status">
  最后更新:{% now "Y-m-d H:i:s" %}
</div>

为什么这样能行?因为htmx对表格容器(比如<tbody>、<thead>)有特殊处理逻辑:当你向这类元素发起请求并指定插入位置时,如果返回的内容外层是同类型的表格容器,htmx会自动剥离外层容器,只将内部的子元素(也就是你的<tr>行)插入到目标位置,完全不会影响页面原有的表格结构。

这样既解决了多个顶级<tr>无法被htmx正确识别的问题,也避免了用<div>或其他非表格元素包裹导致的布局破坏,同时OOB元素也能正常工作。

内容的提问来源于stack exchange,提问作者michjnich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 06:27:03