始终将 WTForms 字段标签与字符串进行比较 returns False

Comparing WTForms field label to string always returns False

如果字段标签是 "Log-in" 我不想只显示输入本身的标签。但是将宏中的 field.label 与 "Log-in" 进行比较总是错误的,因为 <p>hello</p> 永远不会被渲染。如何将标签与字符串进行比较?

{% macro render_field(field) %}
  {%if field.label == "Log-in" %}
    <p>hello</p>
  {%else%}
    {{ field.label }} {{ field(**kwargs)|safe }}
  {%endif%}
{% endmacro %}

<div id = "SignUpForm">
    <form action = "" method = "post" name = "SignUpForm">
        <p>{{render_field(form.username)}}</p>
        <p>{{render_field(form.first_name)}}</p>
        <p>{{render_field(form.last_name)}}</p>
        <p>{{render_field(form.password)}}</p>
        <p>{{render_field(form.password2)}}</p>
        <p>{{form.submit}}</p>
        {{form.hidden_tag()}}
    </form>
</div>

您需要与 field.label.text 进行比较。 .text 部分缺失。标签对象本身不是字符串。