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

如何让form表单外的按钮与表单内按钮对齐(Django+Bootstrap场景)

问题根因

HTML中<button>标签未指定type属性时,默认值为submit,放在<form>标签内部就会触发表单提交,这是你将取消按钮放在表单内点击会触发删除操作的核心原因。

最优解决方案

无需在<a>标签内嵌套<button>,Bootstrap支持直接给<a>标签添加btn系列类实现和原生按钮完全一致的样式,配合Bootstrap的布局工具类即可实现两个按钮并排对齐,完全不会触发表单提交。

Bootstrap 4/5 版本代码示例

<div class="container py-5">
   <form method="post">
      {% csrf_token %}
      <p>
         <h3>
            Do you want to delete <em>"{{ entry.title }}"</em> posted on {{ entry.date_created|date:'Y-m-d' }}?
         </h3>
      </p>
      <!-- d-flex实现并排,gap-2控制按钮间距 -->
      <div class="d-flex gap-2">
         <button class="btn btn-danger" type="submit" value="Confirm">Confirm</button>
         <a href="{% url 'entry-detail' entry.id %}" class="btn btn-secondary">Cancel</a>
      </div>
   </form>
</div>

Bootstrap 3 版本代码示例

如果你使用的是旧版Bootstrap 3,没有内置flex工具类,可以用浮动实现:

<div class="container py-5">
   <form method="post">
      {% csrf_token %}
      <p>
         <h3>
            Do you want to delete <em>"{{ entry.title }}"</em> posted on {{ entry.date_created|date:'Y-m-d' }}?
         </h3>
      </p>
      <div class="clearfix">
         <button class="btn btn-danger pull-left" style="margin-right:5px" type="submit" value="Confirm">Confirm</button>
         <a href="{% url 'entry-detail' entry.id %}" class="btn btn-secondary pull-left">Cancel</a>
      </div>
   </form>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:45:01