为什么神社逃避宏HTML?(Why does Jinja escape html in a macr

2019-10-18 15:46发布

我正在写一个神社宏来渲染模板某种形式的数据,但由于某些原因表单数据呈现为逃脱文本而不是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') }}

想法? 我在想什么?

Answer 1:

看来你没有得到的神社模板语法完全呢,不管了,我会建议做这样的事情:

{% 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') }}


文章来源: Why does Jinja escape html in a macro?