Flask_Bootstrap4 wtf快速表单不显示错误

时间:2019-12-31 06:46:42

标签: twitter-bootstrap flask bootstrap-4 flask-wtforms flask-bootstrap

因此,在flask中,我最近下载了flask_bootstrap4,与flask_bootstrap(引导程序3)相同,除了flask_bootstrap4之外,它使用引导程序4而不是引导程序3。在我的模板中,我对所有表单使用此代码: / p>

{% import 'bootstrap/wtf.html' as wtf %}
<div class="row">
        <div class="col-md-4">
            {{ wtf.quick_form(form) }}
        </div>
</div>

这很好,但是当表单中有错误时,将不会显示它们。我对flask_bootstrap使用了完全相同的东西。只是想知道是否有人知道如何解决此问题。谢谢!

1 个答案:

答案 0 :(得分:0)

我发现处理此问题的唯一方法是为每个字段添加一个错误处理部分。

{% import 'bootstrap/wtf.html' as wtf %}
...
<form action="" method="post">
        {{ form.hidden_tag() }}
        <p>

            {{ wtf.form_field(form.username) }}
            {% for error in form.username.errors %}
            <div class="alert alert-danger" role="alert">{{ error }}</div>
            {% endfor %}
</form>

我知道这不像使用quick_form()功能那样优雅,但是确实可以。通过这种方式,您还可以将表单扩展到页面的多个列或部分。 您也可以尝试通过从路由脚本中传递form.errors来捕获所有有问题的字段,这将返回render_template()flash()的字段名列表,或者在页面上显示错误消息。 / p>