Flask 有没有一种方法可以简化模板中表单错误的代码

Flask 有没有一种方法可以简化模板中表单错误的代码,flask,jinja2,flask-wtforms,wtforms,Flask,Jinja2,Flask Wtforms,Wtforms,这是我在register.html中的当前代码,有没有办法减少代码行数 {% for error in reg_form.confirm_pass.errors %} <div class="ui tiny compact negative message"> <p>{{ error }}</p> </div> {% endfor %} {% for error in reg_form.passw

这是我在
register.html
中的当前代码,有没有办法减少代码行数

{% for error in reg_form.confirm_pass.errors %}
    <div class="ui tiny compact negative message">
        <p>{{ error }}</p>
    </div>
{% endfor %}
{% for error in reg_form.password.errors %}
    <div class="ui tiny compact negative message">
        <p>{{ error }}</p>
    </div>
{% endfor %}
{% for error in reg_form.errors['email'] %}
    <div class="ui tiny compact negative message">
        <p>{{ error }}</p>
    </div>
{% endfor %}
{%for reg_form.confirm_pass.errors%}
{{error}}

{%endfor%} {reg_form.password.errors%中的错误为%s} {{error}}

{%endfor%} {%表示注册表表单中的错误。错误['email']%} {{error}}

{%endfor%}
您可以定义:

宏与常规编程语言中的函数具有可比性。它们有助于将经常使用的习惯用法放入可重用的函数中,以避免重复(“干式”)

宏可以接受一个参数(要显示的
错误
消息),您可以将它用于每种类型的错误,并在每种情况下传递要呈现的特定错误消息

例如:

{% macro error_macro(error) %}
    <div class="ui tiny compact negative message">
        <p>{{ error }}</p>
    </div>
{% endmacro %}

{% for error in reg_form.confirm_pass.errors %}
    {{ error_macro(error) }}
{% endfor %}
{% for error in reg_form.password.errors %}
    {{ error_macro(error) }}
{% endfor %}
{% for error in reg_form.errors['email'] %}
    {{ error_macro(error) }}
{% endfor %}
{%macro error\u macro(error)%}
{{error}}

{%endmacro%} {reg_form.confirm_pass.errors%} {{error_macro(error)}} {%endfor%} {reg_form.password.errors%中的错误为%s} {{error_macro(error)}} {%endfor%} {%表示注册表表单中的错误。错误['email']%} {{error_macro(error)}} {%endfor%}
这满足了使代码更紧凑的原始要求,但更重要的是,这意味着您只需在一个位置更改代码,就可以更改错误的样式或格式