首页 > 解决方案 > 安全的内置 for 循环 Django CKEditor

问题描述

我在 Django 中使用 CKEditor,当我需要在我的模板中显示一些 RTF 代码时,我通常使用内置的安全过滤器(autoscape)。

例子:

<p class="card-text">{{ questao.enunciado|safe }}</p>

但是,如何在 for 循环中使用安全的内置函数?

{% for field in form %}
    <div class="fieldWrapper">
        <strong>{{ field.label_tag }}</strong>
        {{ field|safe }}
        {% if field.help_text %}
            <p class="help">{{ field.help_text }}</p>
        {% endif %}
    </div>
{% endfor %}

上面的这种方式对我不起作用,并且在模板中它最终以文本格式向我显示 HTML 代码。

标签: pythondjangockeditor

解决方案


您无需在野外使用保险箱。

尝试:

{% for field in form %}
<div class="fieldWrapper">
    {{ field.errors }}
    {{ field.label_tag }} {{ field }}
    {% if field.help_text %}
    <p class="help">{{ field.help_text|safe }}</p>
    {% endif %}
</div>
{% endfor %}

另请参阅django 文档


推荐阅读