0

所以在flask中,我最近下载了flask_bootstrap4,它与flask_bootstrap(bootstrap 3)相同,除了flask_bootstrap4,它使用bootstrap 4而不是bootstrap 3。在我的模板中,我将这段代码用于我的所有表单:

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

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

4

1 回答 1

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()toflash()或以其他方式在您的页面上显示错误消息。

于 2020-03-31T09:23:54.597 回答