Django模板:比较IF语句中的字典长度

Eld*_*ila 3 python django

我试图比较django模板中字典的长度

例如,我想知道执行以下操作的正确语法:

    {% if error_messages %}
        <div class="error">
            {% if length(error_messages) > 1 %}
                Please fix the following errors:
                <div class="erroritem">
                    {% for key, value in error_messages.items %}
                        <br>{{ value }}
                    {% endfor %}
                </div>

            {% else %}
                    {% for key, value in error_messages.items %}
                        {{ value }}
                    {% endfor %}
            {% endif %}
        </div>
    {% endif %}
Run Code Online (Sandbox Code Playgroud)

Pao*_*ino 12

你可以使用长度过滤器和ifequal标签来做到这一点:

{% if error_messages %}
    <div class="error">
        {% ifequal error_messages|length 1 %}
            error_messages[0]
        {% else %}
            Please fix the following errors:
            <div class="erroritem">
            {% for key, value in error_messages.items %}
                <br>{{ value }}
            {% endfor %}
            </div>
        {% endifequal %}
    </div>
{% endif %}
Run Code Online (Sandbox Code Playgroud)

其他任何东西都必须沿着自定义标签和过滤器的路径前进.