【发布时间】:2019-08-26 14:40:03
【问题描述】:
大家好,我正在学习烧瓶,但遇到了问题。我正在尝试根据验证修改输入表单控件类。
在 jinja2 模板中,我有以下(我正在使用 render_field)已导入宏:
{% from 'includes/_formhelpers.html' import render_field %}
<div class="form-group">
<div class="input-group input-group-alternative mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="ni ni-hat-3"></i></span>
</div>
{{ render_field(form.username, placeholder="Username",class="form-control") }}
</div>
</div>
然后在宏文件中我有以下内容:
{% macro render_field(field) %}
{{ field(**kwargs)|safe }}
{% if field.errors %}
{% for error in field.errors %}
<input class="form-control is-invalid">
<div class="invalid-feedback">
{{ error }}
</div>
{% endfor %}
{% endif %}
{% endmacro %}
问题是宏在渲染另一个输入框
生成的 HTML:
<div class="form-group">
<div class="input-group input-group-alternative mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="ni ni-hat-3"></i></span>
</div>
<input class="form-control" id="username" name="username" placeholder="Username" required="" type="text" value="pandazulweb">
<input class="form-control is-invalid">
<div class="invalid-feedback">
Username already in use.
</div>
</div>
我认为这与 kwargs 以及我如何将类传递给模板有关,但我是 jinja2 的菜鸟
【问题讨论】: