我正在编写一个Jinja宏来在模板中呈现一些表单数据,但由于某种原因,表单数据呈现为转义文本而不是html!这是我的宏,表格的第一行叫做:
{% macro formrow(field) %}
<tr>
<td>form.{{ field }}.label|safe</td>
<td>form.{{ field }}|safe</td>
<td>form.{{ field }}.help_text|safe</td>
<td>form.{{ field }}.errors|safe</td>
</tr>
{% endmacro %}
{{ formrow('item_name') }}
想法?我错过了什么?
答案 0 :(得分:1)
看来你还没有完全获得Jinja模板语法,不管怎样,我建议做这样的事情:
{% macro formrow(field) %}
<tr>
<td>form.{{ field.label_tag() }}</td>
<td>form.{{ field.as_widget() }}</td>
<td>form.{{ field.help_text|safe }}</td>
<td>form.{{ field.errors.as_ul() }}</td>
</tr>
{% endmacro %}
{{ formrow('item_name') }}