将WTForms字段标签与字符串进行比较总是返回False

Zio*_*ion 1 python flask wtforms flask-wtforms

如果字段标签为“登录”,则我不想仅显示输入本身。但是field.label,将宏中的“登录”与“登录”进行比较始终是错误的,因为<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>
Run Code Online (Sandbox Code Playgroud)

Zio*_*ion 5

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