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

如何修改Django form.errors显示内容?移除错误关联字段名

如何在Django模板中只显示表单错误消息(隐藏字段名)

你当前用来展示表单错误的代码会连带字段名一起输出:

{% if form.errors %}
  <div class="alert alert-warning alert-dismissible fade show"
       role="alert">
      <p class="m-0">{{ form.errors }}</p>
    <button type="button"
            class="btn-close"
            data-bs-dismiss="alert"
            aria-label="Close">
    </button>
  </div>
{% endif %}

要只保留错误消息、去掉字段名,有两种简单的实现方式:

方式一:遍历字段提取错误

逐个遍历表单的每个字段,直接输出字段对应的错误消息,同时兼顾表单级的非字段错误:

{% if form.errors %}
  <div class="alert alert-warning alert-dismissible fade show"
       role="alert">
      <!-- 遍历每个字段的错误 -->
      {% for field in form %}
          {% for error in field.errors %}
              <p class="m-0">{{ error }}</p>
          {% endfor %}
      {% endfor %}
      <!-- 处理不属于单个字段的表单级错误 -->
      {% for error in form.non_field_errors %}
          <p class="m-0">{{ error }}</p>
      {% endfor %}
    <button type="button"
            class="btn-close"
            data-bs-dismiss="alert"
            aria-label="Close">
    </button>
  </div>
{% endif %}

方式二:直接提取所有错误消息集合

通过form.errors.values()获取所有字段的错误列表,遍历输出纯错误内容:

{% if form.errors %}
  <div class="alert alert-warning alert-dismissible fade show"
       role="alert">
      <!-- 遍历所有字段的错误消息 -->
      {% for error_list in form.errors.values %}
          {% for error in error_list %}
              <p class="m-0">{{ error }}</p>
          {% endfor %}
      {% endfor %}
      <!-- 同样处理非字段错误 -->
      {% for error in form.non_field_errors %}
          <p class="m-0">{{ error }}</p>
      {% endfor %}
    <button type="button"
            class="btn-close"
            data-bs-dismiss="alert"
            aria-label="Close">
    </button>
  </div>
{% endif %}

两种方式都能完美去掉字段名,只显示错误消息本身,同时不会漏掉任何类型的表单错误。

内容的提问来源于stack exchange,提问作者bld-sync

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:10:25