我正在尝试修改 Flask-Security 的
_macros.html
以很好地对齐所有内容。我用 p
替换了 tr
标签,并将 {{ field.label }}
和 {{ field(**kwargs)|safe }}
都包裹在 td
标签之间。由于某种原因,这些标签完全从输出中消失了poof,就像它们从未存在过一样。使用一些像 trrrrr
和 tdddd
这样的废话输出就很好,所以我知道我正在编辑正确的文件。
发生什么事了?为什么 jinja2 讨厌我的桌子?
我还尝试将宏调用包装在
<td></td>
之间的模板中,然后每个所谓的包装标签都出现在之后所有宏调用之间,中间没有任何内容(但在上面)。
我尝试用谷歌搜索我消失的标签,但找不到任何东西。
{% macro render_field_with_errors(field) %}
<tr>
<td>{{ field.label }}</td> <td>{{ field(**kwargs)|safe }}</td>
{% if field.errors %}
<ul>
{% for error in field.errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
</tr>
{% endmacro %}
{% macro render_field(field) %}
<td>{{ field(**kwargs)|safe }}</td>
{% endmacro %}
将 tr 标签包装在父表标签中解决了我的问题