如何禁用wtform提交字段的提交按钮?

gpb*_*lio 7 jinja2 flask flask-wtforms

这是 wtform 的提交按钮代码:

{{ form.submit(class="w-50 btn btn-primary btn-sm submit-btn") }}
Run Code Online (Sandbox Code Playgroud)

我正在考虑在单击时向其添加一个类?我知道通过添加这样的类来显示 wtform+jinja2 中的错误的方法:

{% if reg_form.confirm_password.errors %}
   {{ reg_form.confirm_password(class="form-control form-control-sm is-invalid") }}
          <div class="invalid-feedback">
             {% for error in reg_form.confirm_password.errors %}
                <span>{{ error }}</span>
             {% endfor %}
          </div>
   {% else %}
       {{ reg_form.confirm_password(class="form-control form-control-sm")}}
   {% endif %}
Run Code Online (Sandbox Code Playgroud)

我查看了 SubmitField 的文档,但我看不到禁用它的方法。https://wtforms.readthedocs.io/en/stable/fields.html

Git*_*son 1

您可以在表单定义期间直接执行此操作,如下所示:

# forms.py

class MyForm(FlaskForm):
    # ...
    submit = SubmitField("Submit", render_kw={"disabled": "disabled"})

# Then simply render your form
# index.html

{{ form.submit() }}
Run Code Online (Sandbox Code Playgroud)

或者,您可以从模板中执行此操作,如下所示:

<!-- index.html -->


{{ form.submit.render_kw={"disabled": "disabled"} }}

<!-- OR -->

{{ form.submit(disabled=True) }}
Run Code Online (Sandbox Code Playgroud)