首页 > 解决方案 > Django:没有 li / * 的表单集错误

问题描述

我正在使用表单集。formset.non_form_errors完全按照我需要的方式显示。for dict in formset.errors但是,始终显示包含<li>标签的我的字段特定错误。我试过.as_text了,但是只是添加了一个 * (并删除了 li)。但我也不需要*。

任何人都可以帮助我吗?

{% if formset.total_error_count %}
    {% if formset.non_form_errors %}
        {% for error in formset.non_form_errors %}
            <div class="alert alert-warning" role="alert">
                {{ error|escape }}
            </div>
        {% endfor %}
    {% endif %}
    {% for dict in formset.errors %}
        {% for error in dict.values %}
            <div class="alert alert-warning" role="alert">
                {{ error|escape }}
            </div>
        {% endfor %}
    {% endfor %}
{% endif %}

<form method="post">
    {% csrf_token %}
    {{ formset.management_form }}

标签: djangodjango-templatesformset

解决方案


可以通过在表单循环中移动单个错误来解决该问题:

{% if formset.total_error_count %}
    {% if formset.non_form_errors %}
        {% for error in formset.non_form_errors %}
            <div class="alert alert-warning" role="alert">
                {{ error|escape }}
            </div>
        {% endfor %}
    {% endif %}
{% endif %}

{% for form in formset %}

    {% if form.quantity.errors %}
        <div class="alert alert-warning" role="alert">
            {% for error in form.quantity.errors %}
                {{ error|escape }}
            {% endfor %}
        </div>
    {% endif %}

推荐阅读